![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
Ruhr
Whatever It Takes!
展开
-
LeetCode.9 回文数
题目链接:回文数分析:1. 首先判断该数字num有多少位此处用一个循环,赋一个值div,用给出的数字num除以div,然后不断地给div乘10,直到div满足条件2. 计算出最高位的数字left用给出的数字num除以div(也就是num的位数),就可得到最高位left3. 计算出最低位的数字right用给出的数字对10取余,就可以计算出最低位的数字right4....原创 2019-08-04 11:05:18 · 91 阅读 · 0 评论 -
LeetCode.53 最大子序和
题目链接题目分析输入:[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6这道题其实就是需要考虑一个负数的问题如果说这个数组里面全是正数,那么从头到尾一直加下去就完事了可是如果说下一个数是负数,那么势必会将之前相加得到的 sum 减小我们先将 sum设置为 index为 1代表的数,然后将下一个数字...原创 2019-08-30 16:56:20 · 68 阅读 · 0 评论 -
LeetCode.69 x 的平方根
题目链接分析:要查找一个数字Target的平方根,很容易会想到 二分查找另外,有两点需要注意:1. 你所要找到的数字(也就是平方根)不能大于给出的数字Target2. 查找的范围应是:1 ~Integer.MAX_VALUE在二分查找完,比如说给出的Target的是 90那么你最后找到的两个数字start应该是 9,end应该是10牵扯到一个取值的问题,当然...原创 2019-08-30 16:20:32 · 85 阅读 · 0 评论 -
LeetCode.20 有效的括号
题目链接:有效的括号分析:这里需要使用栈来进行操作括号共分为三种:( )、{ }、[ ]若要进行括号匹配,只需要把左括号全部压入栈中,再用右括号进行匹配( 遇到左括号压入栈,遇到右括号去进行判断匹配)栈中的元素不停的弹出,然后和右边的括号进行匹配例如:栈中的元素是这样:( { [ 此时的栈顶元素应该是 [,后面的括号用来和弹出的栈顶元素 [ 进行匹配若匹配成功,则再...原创 2019-08-07 15:19:56 · 126 阅读 · 0 评论 -
LeetCode.27 移除元素
题目链接:移除元素分析:给定一个数组,先创建一个临时变量,然后从前向后依次遍历遇到不是要删除的 target,就把该值赋给临时变量代表的在数组里的位置然后将临时变量作为指标再次更新(向后走,自身的值+1)继续向后遍历,接收新的遍历的值(重复上述过程)最后返回 临时变量的值,表示数组更新后的长度(临时变量的值是多少,代表更新后的数组的长度是多少)代码实现:pu...原创 2019-08-09 16:18:11 · 117 阅读 · 0 评论 -
LeetCode.13 罗马数字转整数
题目链接:罗马数字转整数分析:如图示意:例如,我们给定一个罗马字母 CXCI,其对应的真实数字应该为191在编程的时候,把每个字母逐个解析的话,是这样:C + X + C + I = 100 + 10 + 100 + 1 = 211 这样结果就不对了,应该是再减去差值,也就是20,才可以到的真实的值 191所以说,在我们对给定的字符串遍历的时候,去逐个解析,遇到上述I...原创 2019-08-07 11:17:05 · 135 阅读 · 0 评论 -
LeetCode.2 两数相加
题目链接:两数相加分析:在两数相加的过程中,存在下面三种情况:1. A的位上有数字,B的位上也有数字那么相加后的和的该位上的数值应该是A的该位上对应的数字加上B的该位上对应的数字再加上前面的进位val该位上的数字,应该是上面的得到的和对10取余,例如和为15,那么该位上的数字应该是5进位也应该是一个和除10 的操作,例如和为15,进位就应该是12. A的位上有数字,B的...原创 2019-08-07 09:17:22 · 75 阅读 · 0 评论 -
LeetCode.21 合并两个有序链表
题目链接:合并两个有序链表分析:有两个链表 L1和 L2首先要判断的是,给定的两个链表是否存在 null 的情况L1为空 ,那么返回的是L2;L2为空,返回的是L1当两个链表 都不为空,就需要进行判断,有序输出因为是有序链表,所以就省了很多事先用L1的node1和L2的node1对比,哪个小,我们就输出谁(正序输出)假设L1的node1小,把node1输出后,还...原创 2019-08-08 18:08:05 · 98 阅读 · 0 评论 -
LeetCode.1 两数之和
题目链接:两数之和分析:1. 如果一层一层遍历的话,比较麻烦,时间复杂度是O(n^2),采用下面的方法会更好一些,时间复杂度为O(n)2. 可以借助HashMap,把每一次查找的元素都放在map中3. 目前遍历的数假设是A,那么实现目标的另一个数字 B 应满足 B = Target - A4. 当你遍历的时候,如果在map中可以找到 A 对应的 B,那么直接就把 A 和 B...原创 2019-08-04 18:36:49 · 94 阅读 · 0 评论 -
LeetCode.26 删除排序数组中的重复项
题目链接题目分析给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4这道题分析起来并不复杂,简单来说就是我们可以从前向后依次遍历,先将开始的值记录下来,往后遇到一样的数字直接跳过遇到不一样的数字,把这个数字再记录,再往后遍历那么具体实现起来,我们可以使...原创 2019-08-31 16:20:55 · 75 阅读 · 0 评论