![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数组
「已注销」
这个作者很懒,什么都没留下…
展开
-
Leetcode 153. Find Minimum in Rotated Sorted Array
题目描述:给定一个在任意位置翻转一次的数组,找出其最小值。题目链接:153. Find Minimum in Rotated Sorted Array这个题目很有意思,第一次看的时候就是以为线性时间就是最好的了,谁曾想翻转一次的数组也是可以用二分法,二分查找来查找最小的值,但是要注意mid的计算方式。代码实现:class Solution(object): def find...原创 2019-01-08 23:07:02 · 83 阅读 · 0 评论 -
Leetcode 28. Implement strStr()
题目描述:实现一个函数,能匹配字符串,如果匹配成功返回第一次出现的index,失败返回-1,如果匹配串长度为0返回0.题目链接:Leetcode 28. Implement strStr()KMP算法,根据needle求出next数组,然后利用next数组的信息进行匹配,移动模式串来匹配,每当失配就移动模式串,如果模式串回到了-1也就是第一个位置,那么相应的主串也移动一位进行比较即可。...原创 2019-02-27 17:16:37 · 135 阅读 · 0 评论 -
Leetcode 27. Remove Element
题目描述:移除数组中数位val的元素,并返回一个长度,前长度个元素不包括该元素val.题目链接:Leetcode 27. Remove Element思路和前面一题的思路一样,那就是判断是否相等,然后从0下标开始置位移动。代码如下class Solution { public int removeElement(int[] nums, int val) { i...原创 2019-02-27 16:58:08 · 150 阅读 · 0 评论 -
Leetcode 26. Remove Duplicates from Sorted Array
题目描述:给定一个排序了的数组,找出其中不重复的数组并返回unique的个数,然后原地修改数组让数组最前面为各个唯一数。题目链接:Leetcode 26. Remove Duplicates from Sorted ArrayGiven nums = [0,0,1,1,1,2,2,3,3,4],Your function should return length = 5, with ...原创 2019-02-27 16:52:32 · 160 阅读 · 0 评论 -
Leetcode 3. Longest Substring Without Repeating Characters
题目描述:找出一个子串无重复字符,使其长度最大,返回最大长度。题目链接:Leetcode 3. Longest Substring Without Repeating Characters这种题刚开始觉得很简单,但是仔细考虑实际就是一个滑动窗口的题目,或者说是一个单调队列的题目吧,记录一个队列,当某个字符再次出现的时候(且队列中有此字符)就不断弹出队头,也就是重复元素的左边元素全部抛弃,...原创 2019-02-22 15:22:56 · 82 阅读 · 0 评论 -
Leetcode 1. Two Sum
题目描述:给定一个列表,返回一个数组中两个数相加为target的下标索引。题目链接:Leetcode 1. Two Sum开始我的思路是先排序,然后双指针向中间移动,然后记录此时的值,再到原数组去寻找对应值下标注意处理相同值的情况。正确的思路就是利用hashmap来记target-nums[idx]当出现的数在哈希表内时,证明已经找到了结果了。一般数组的题目都是用哈希表空间换时间的思...原创 2019-02-22 15:18:00 · 107 阅读 · 0 评论 -
Leetcode 48. Rotate Image
题目描述:旋转90度顺时针矩阵,并且原地修改。题目链接:Leetcode 48. Rotate Image思路:找到矩阵坐标与左边之间的关系,并进行交换,如图。一层一层这样的交换下去就可以了。如果n x n则层数就是n//2,列的j的选择就是j<n-i 看是在第几层。当然这道题也可以有很多取巧的方式例如先reverse然后再进一步处理。class Solution: ...原创 2019-02-05 10:19:15 · 176 阅读 · 0 评论 -
Leetcode 240. Search a 2D Matrix II
题目描述:给定一个矩阵和target,判断target是否在矩阵中。矩阵每一行是单调的,每一列也是单调递增的。题目链接:Leetcode 240. Search a 2D Matrix II这题不可以像74题一样直接判断二分了,这个并不可以展开成一段段区间的二分查找,这个需要每一行每一行进行二分查找。二分查找的递归版本和迭代版本各不相同。但是仔细看了看其他人的答案,是从左上角搜索起来,...原创 2019-01-26 14:34:52 · 176 阅读 · 0 评论 -
Leetcode 239. Sliding Window Maximum
题目描述:给出一个数组以及大小为k的滑动窗口,返回每个窗口中的最大值。题目链接:Leetcode 239. Sliding Window Maximum最简单的思路就是遍历然后用max函数返回最大值,但是这样的话每次都要遍历一次来找最大值。如果是笔试遇到可以这样做,如果是面试过程中就就应该提出一些更好的idea比如滑动过程中维护一个有序的窗口,画一格,加入的和退出的值。大概思路是用双向...原创 2019-01-26 13:08:55 · 156 阅读 · 0 评论 -
Leetcode 238. Product of Array Except Self
题目描述:给出一个数组,返回一个数组,ans[i]是nums[i]以外的其他乘积。但是这道题禁止我们使用除法.题目链接:Leetcode 238. Product of Array Except Self思路:先计算一个总的乘积,如果为0,代表数组中有0元素,则直接找到那个索引,然后计算其他元素的乘积,对应其他的肯定是0.要求O(1)空间、O(n)时间,数组的题目一般就是遍历一次,...原创 2019-01-26 12:11:18 · 115 阅读 · 0 评论 -
Leetcode 190. Reverse Bits
题目描述:完成对一个无符号32位数二进制进行翻转。题目链接:190. Reverse Bits思路:就像189一样进行字符串的翻转,然后转换成十进制数返回,但是会省略0.最好的就是像网上一样进行位操作。这道题又是在考察位操作Bit Operation,LeetCode中有关位操作的题也有不少,比如 Repeated DNA Sequences,Single Number, Sin...原创 2019-01-21 15:37:37 · 97 阅读 · 0 评论 -
Leetcode 189. Rotate Array
题目描述:利用O(1)space以及原地修改的方式翻转数组,在第K位置翻转。题目链接:Leetcode 189. Rotate Array初步思路就是存储需要移到前面的数字,然后进行重新赋值,但是最坏的情况下就是O(n)时间复杂度,所以希望寻求一些记忆手段。代码如下class Solution: def rotate(self, nums, k): """ ...原创 2019-01-21 15:07:47 · 89 阅读 · 0 评论 -
Leetcode 229. Majority Element II
题目描述:找出数组中超过向下取整n//3的数题目链接:Leetcode 229. Majority Element II题目思路:跟之前n//2的众数不一样的是这里不保证有众数而且可能为空。还是使用投票法,但是这个要投出2个数字出来,最多,最少0个。所以设置两个计数器。c1、c2候选者和cnt1、cnt2计数器,当其中一个计数器为0的时候,就把n置位,并初始化计数器,如果碰到相等的就...原创 2019-01-25 15:22:08 · 156 阅读 · 0 评论 -
Leetcode 260. Single Number III
题目描述:找出一个数组中仅仅出现1次的两个数字,其他数字都出现了2次。题目链接:Leetcode 260. Single Number III思路:这个跟第一题 136很相似,只不过这里面有2个出现一次的数字,那题可以用摩尔投票法,也可以用异或相同为0的记录法。这里就是要找出一个区分位,来区分不同的结果,这个区分就是diff参见下面解释:这道题是之前那两道 Single Numbe...原创 2019-02-20 14:47:19 · 119 阅读 · 0 评论