leetcode
刷题记录,希望早日上岸
秋媃嫣姬
好好做人
展开
-
leetcode 7, 难度easy
一、题目二、分析这道题的重点依次从后往前取出数字。用x/10代入循环,用x%10取余。但是需要注意,python的机制有点点特别,详情可见https://blog.csdn.net/sun___M/article/details/83142126,因此我选择的做法是如果x是负数,先将x=-x,再进行运算。三、代码class Solution: def reverse(self, x: int) -> int: ans = 0 flag原创 2020-10-29 12:21:21 · 272 阅读 · 1 评论 -
leetcode 1, 难度easy
一、题目二、分析这道题我们可以考虑用哈希的方式实现。我们的目标是找到两数之和等于target的下标,遍历数组nums,如果target-nums[i]在哈希表里,则说明这两数之和为target。例如[2,7,11,15],首先遍历2, 9-2=7不在哈希表里,将hash[2]=0;遍历7,9-7=2在哈希表里,取出[hash[2],1]返回。三、代码class Solution: def twoSum(self, nums: List[int], target: int)原创 2020-10-29 10:42:44 · 203 阅读 · 0 评论 -
leetcode844,难度easy
一、题目二、原创 2020-10-19 18:23:58 · 162 阅读 · 0 评论 -
leetcode665,难度easy
一、题目二、解法虽说这是一道easy的题,但是对我来说却很难,很难理清楚前后改变的关系。直到我看到评论区举出的三个例子(感谢大佬):[4,2,3] [-1,4,2,3] [2,3,3,2,4]从上面的例子可以看出,需要更改的情况都是当后面的数字小于前面的数字时,需要做出更改。那么如何更改呢?其实是还跟再前面的一个数字相关。更改时应该优先更改前面的数字。因此,归纳过来,应该是服从下面的关系:1、当nums[i-2]<=nums[i]:nums[i-1]=nums[i...原创 2020-10-19 11:45:13 · 227 阅读 · 1 评论 -
leetcode997,难度easy
解法:这道题需要留意题目:按非递减顺序排序的数组,因此,我们知道在A平方后,原本是负数的一边是降序排序,原本是正数的一边是升序排序,因此在排序后我们可以用归并排序。新建一个list B,找到第一个负数值的下标和第一个非负值的下标,进行归并排序。归并排序时需要注意,要优先处理越界情况。代码如下:class Solution: def sortedSquares(self, A: List[int]) -> List[int]: length = len(A) ..原创 2020-10-16 21:26:07 · 197 阅读 · 0 评论