数组
数组相关
Alwaysion
more persistent for nothing
个人qq:790693499,欢迎来交流
展开
-
【力扣41. 缺失的第一个正数】仿哈希表法、置换法(Python3)
目录题目描述思路题解方法一:仿哈希表方法二:置换法题目描述https://leetcode-cn.com/problems/first-missing-positive/思路题解https://leetcode-cn.com/problems/first-missing-positive/solution/que-shi-de-di-yi-ge-zheng-shu-by-leetcode-solution/方法一:仿哈希表时间复杂度 :O(3N)=O(N)空间复杂度:O(1)class原创 2021-08-24 10:51:10 · 180 阅读 · 0 评论 -
【力扣16. 最接近的三数之和】排序&双指针(Python3)
题目描述https://leetcode-cn.com/problems/3sum-closest/思路题解https://leetcode-cn.com/problems/3sum-closest/solution/zui-jie-jin-de-san-shu-zhi-he-by-leetcode-solution/class Solution: def threeSumClosest(self, nums: List[int], target: int) -> int:原创 2021-08-23 15:46:25 · 100 阅读 · 0 评论 -
【力扣325. 和等于 k 的最长子数组长度】前缀和(Python3)
题目描述https://leetcode-cn.com/problems/maximum-size-subarray-sum-equals-k/思路题解滑动窗口+剪枝(时间超限)因为本题目有负数,所以对于负数比较多而k为正数的情况,会时间超限。class Solution: def maxSubArrayLen(self, nums: List[int], k: int) -> int: n=len(nums) preSum=[0]*n原创 2021-08-20 15:30:28 · 692 阅读 · 0 评论 -
【力扣剑指 Offer 53 - II. 0~n-1中缺失的数字】二分(python3)
题目描述https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof/思路题解速度都差不多我的方法:递归二分class Solution: def missingNumber(self, nums: List[int]) -> int: def binsearch(i,j): if i==j:return i m=(i+j)//2 if nums[原创 2021-07-10 17:14:18 · 77 阅读 · 0 评论 -
【力扣4. 寻找两个正序数组的中位数】合并数组+二分(Python3)
题目描述https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/xun-zhao-liang-ge-you-xu-shu-zu-de-zhong-wei-s-114/思路题解合并数组时间复杂度:o(m+n)空间复杂度:o(m+n)class Solution: def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) ->原创 2021-07-08 23:23:22 · 179 阅读 · 0 评论 -
【238. 除自身以外数组的乘积】左右乘积列表法+空间复杂度 O(1)的方法(python3)
题目描述https://leetcode-cn.com/problems/product-of-array-except-self/思路题解左右乘积列表法class Solution: def productExceptSelf(self, nums: List[int]) -> List[int]: left,right=[nums[0]],[nums[-1]] n=len(nums) for i in range(1,n):原创 2021-07-08 16:26:48 · 72 阅读 · 0 评论 -
【力扣128. 最长连续序列】哈希(python3)
题目描述https://leetcode-cn.com/problems/longest-consecutive-sequence/思路题解https://leetcode-cn.com/problems/longest-consecutive-sequence/solution/zui-chang-lian-xu-xu-lie-by-leetcode-solution/只看有没有比他小的数,有的话证明不是开头,跳过class Solution: def longestConsecutiv原创 2021-07-06 17:05:13 · 97 阅读 · 0 评论 -
【力扣剑指 Offer 40. 最小的k个数】TOP-K的经典解法:基于快排的数组划分和堆排序(Python3)
题目描述https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/思路题解基于快排的数组划分https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/solution/jian-zhi-offer-40-zui-xiao-de-k-ge-shu-j-9yze/链接第二个方法class Solution: def getLeastNumbers(self, arr: List原创 2021-07-06 10:58:32 · 98 阅读 · 0 评论 -
【力扣剑指 Offer 21. 调整数组顺序使奇数位于偶数前面】奇偶指针(python3)
题目描述https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/思路题解奇数指针j偶数指针o一个指向奇数一个指向偶数,互换,再继续遍历。到头停止class Solution: def exchange(self, nums: List[int]) -> List[int]: o,j=0,0 while o<原创 2021-07-02 11:05:00 · 94 阅读 · 0 评论 -
【力扣287. 寻找重复数】二分+位运算+快慢指针(Python3)待补充
题目描述https://leetcode-cn.com/problems/find-the-duplicate-number/思路题解二分+位运算(没太看懂)https://leetcode-cn.com/problems/find-the-duplicate-number/solution/xun-zhao-zhong-fu-shu-by-leetcode-solution/快慢指针题解https://leetcode-cn.com/problems/find-the-duplicate-nu原创 2021-06-30 21:27:03 · 114 阅读 · 0 评论 -
【力扣-34. 在排序数组中查找元素的第一个和最后一个位置】二分+二分优化(python3))
题目描述https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/思路题解二分二分找到target向两边扩散指针当都不相同时返回结果class Solution: def searchRange(self, nums: List[int], target: int) -> List[int]: i,j=0,len(nums)-1原创 2021-06-30 19:51:49 · 146 阅读 · 0 评论 -
【力扣48. 旋转图像】图形变换+辅助数组法(python3)
题目描述https://leetcode-cn.com/problems/rotate-image/思路题解图形变换可以先上下反转,再延主对角线“对折”。不需要借助额外的数组class Solution: def rotate(self, matrix: List[List[int]]) -> None: """ Do not return anything, modify matrix in-place instead. """原创 2021-06-28 16:35:28 · 90 阅读 · 0 评论 -
【力扣54. 螺旋矩阵、59. 螺旋矩阵 II、885. 螺旋矩阵 III】边界收缩、扩展法+步长找规律法(递归+非递归)(python3)
题目描述https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/https://leetcode-cn.com/problems/spiral-matrix/submissions/思路题解设置四个边界,每弄完一个边之后,边界+1 or -1class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]:原创 2021-06-26 21:37:40 · 201 阅读 · 0 评论 -
【力扣560. 和为K的子数组】枚举+前缀和(python3)
题目描述https://leetcode-cn.com/problems/subarray-sum-equals-k/思路题解https://leetcode-cn.com/problems/subarray-sum-equals-k/solution/he-wei-kde-zi-shu-zu-by-leetcode-solution/前缀和和枚举的题解在上方,前缀和代码在下方:class Solution: def subarraySum(self, nums: List[int], k原创 2021-06-21 23:23:13 · 155 阅读 · 0 评论