小陈练力扣
小陈是菜狗
这个人是个懒狗,没有介绍
展开
-
167. 两数之和 II - 输入有序数组(python)
思路是两个指针一个在最左端一个在最右端分别代表一个最大值和一个最小值,然后控制大小达到最后要求。class Solution: def twoSum(self, numbers: List[int], target: int) -> List[int]: left,right = 0,len(numbers)-1 while numbers[left] + numbers[right] != target: if number...原创 2021-10-10 09:38:41 · 96 阅读 · 0 评论 -
283. 移动零(python版)
首先是两种python中简短精炼的方法:class Solution: def moveZeroes(self, nums: List[int]) -> None: for i in range(nums.count(0)): nums.remove(0) nums.append(0)class Solution: def moveZeroes(self, nums: List[int]) -> No..原创 2021-10-10 09:24:18 · 183 阅读 · 0 评论 -
189. 旋转数组(python版)
这里采用的是一种比较取巧的方法,和考研书王道上的方法相同,是利用镜像的原理一次性把数组翻转到对应位置。class Solution: def reverse(self,nums: List[int], a: int, b:int) -> None: while(a < b): temp = nums[b] nums[b] = nums[a] nums[a] = temp ..原创 2021-10-09 17:43:30 · 73 阅读 · 0 评论 -
977. 有序数组的平方(python)
主要思路就是用双指针,但是不知道为啥慢的批爆,可能跟语言有关?class Solution: def sortedSquares(self, nums: List[int]) -> List[int]: l = len(nums) nums1 = [None] * l left,right = 0,l-1 t = l-1 while left <= right: if a..原创 2021-10-09 16:07:54 · 236 阅读 · 0 评论 -
35. 搜索插入位置(python)
与上一题一样的算法,这里不再赘述。class Solution: def searchInsert(self, nums: List[int], target: int) -> int: min,max = 0,len(nums)-1 while min <= max: mid = (min + max) // 2 if nums[mid] == target: r...原创 2021-10-09 10:08:22 · 82 阅读 · 0 评论 -
278. 第一个错误的版本(依然是二分法)
class Solution: def firstBadVersion(self, n): """ :type n: int :rtype: int """ min,max = 1,n flag = 0 while(min <= max): mid = (min + max) // 2 if isBadVersion(mid) == .原创 2021-10-09 09:36:21 · 43 阅读 · 0 评论 -
力扣第一步,二分法
原理没什么说的了,主要是用python写 #BinarySearch:find the location of the target number def BinarySearch(nums:list,x:int) -> int: ''' nums: Sorted array from smallest to largest x: Target number ''' left,right原创 2021-10-09 09:02:08 · 45 阅读 · 0 评论