leetcode-7. 整数反转

leetcode刷题  # Java

  

2019-12-18 12:25:36

题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 来源...

leetcode-9. 回文数

leetcode刷题  # Java

  

2019-12-21 07:51:25

题目 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 来源:力扣...

如题 与之前那个三数之和的可能序列有异曲同工之妙,但是那个是需要去重,这个则需要计算全部可能。那么先用相似的双指针法来实现 实现是没问题,但是结果 过于耗时,稍加分析,很显然时间消耗点在于各种相同元素的检索上,那么优化的大方向就有了,尽可能压缩这种重复操作。采取缓存与数学运算相结合的方法进行优化...

如题 审题很重要哦,着重注意是存在差异的话是有仅有一对并且相同时存在重复字符也是可以的 结果 有点弱了,很显然思路是没问题的,那么着手优化写法 可以了...

如题 很显然直接按照规则去检索会非常麻烦。想办法取巧实现,对于组成车队的情况,实际上就是后面的速度快赶上前面,并且赶上前面之后就可视为前面的了,那么很显然每辆车都只用与它位置上的前一位相比较,比较的基准是什么呢,可以选取到达时间,落后的到达时间更短很显然必然能汇合 基本就是依次两个比较即可...

如题 感觉没有捷径可找,只能确定需要迭代查找max元素到元素和之间的每个次数,找到最小的那一个 结果很显然不是很理想 思路上找不到捷径了,但是很显然写法上可以优化,对于最小值的迭代,有最大值和最小值,很显然二分法减少迭代次数 优化效果很明显...

如题 如果直接构造二维数组进行操作后检索,肯定是不够优雅的。可以类比为几何问题,两个长方形求差集,对应的某一行或列变换两次将会还原,也就是仅仅只用关注出现次数为奇数的对应行列即可 暴力就不写了...

如题 很显然需要用到递归,但是不适合从上至下穷举,那样对元素和的运算会有浪费。那么转换流程为从底部开始运算,计算节点坡度的同时缓存元素和 提交时去掉static,很直观的写法,直接递归求子树元素和。 换一种写法,直接通过return控制递归findTilt方法 仅仅是写法不一样,结果是完全相同的...

题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出: 0 来源:35...

题目 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例 2: ...

leetcode-27. 移除元素

leetcode刷题  # Java

  

2020-03-25 12:55:55

题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均...

题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 来源:力扣(LeetCode) 链接:21. 合并两个有序链表 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 分析 此题比较简单,一一...

题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 53. 最大子序和 分析 求子序和,最一般的方法(暴力法)便是求出所...

题目 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: &ldquo...