代码随想录第一天刷题
第一天三道题目,分别是二分法,删除和有序数的平方
- 二分法
left, right = 0, len(nums) - 1
while left <= right:
mid = (right - left) // 2 + left
num = nums[mid]
if num == target:
return mid
elif num > target:
right = mid-1
else:
left = mid + 1
return -1
- 删除
def removeElement(self, nums: List[int], val: int) -> int:
slow = 0
for fast in range(len(nums)):
if nums[fast] != val:
nums[slow] = nums[fast]
slow += 1
return slow
- 有序数的平方
def sortedSquares(self, nums: List[int]) -> List[int]:
for i in range(len(nums)):
nums[i] *= nums[i]
nums.sort()
return nums
第一次写博客,格式什么的都很凌乱,自己给自己一个小目标,之后的博客应该越来越流利,干净,简洁。 本次刷题,在刚开始连Leetcode和PyCharm的格式都不清楚,好在现在又各种AI可以去搜索。本次刷题节奏应该是直接就是上视频,然后手写一边,交给AI再改。第一题比较难的点在于闭上眼睛如何把定义的num,nums,target,mid的各个定义理顺,哪里需要用num,nums...更多应该是对python语法的不熟,算法本身看一遍可以理解,闭上眼动手才是关键。第二题本来直接用伪代码去PyCharm里面跑,我真是醉了,问了元宝才知道,那不是python语言。第三道题说实话看了题解之后有点明白,但也没太懂,下面应该是调用了库函数直接排序了,上面是正常的语句,主要是暴力破解。 已然是深夜,一年之后再刷题,真的很难,什么都要重新学,主要是自己本来再学校什么也没学会,这次多一点点坚持!
#新人报道##第一篇#