![](https://img-blog.csdnimg.cn/0c5bfc571342435ead840a43b6177728.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode
文章平均质量分 52
力扣
我是鸹貔
一直在学习
展开
-
leetcode-874. 模拟行走机器人
使用hash+模拟解决874.模拟机器人行走。原创 2023-07-19 12:03:02 · 135 阅读 · 0 评论 -
leetcode-27. 移除元素+26. 删除有序数组中的重复项+283. 移动零+977. 有序数组的平方
解题思路简单题,使用双指针求解,这里使用头尾指针,把等于val的扔到数组后边就行。一个指针l从头开始,另一个指针r从末尾开始。若前边有等于val的元素,就与指针r交换并且指针r前移,l指针不动,因为并不知道交换到l位置上的元素是否等于val;否则指针l后移继续遍历。原创 2023-07-14 18:49:30 · 48 阅读 · 1 评论 -
leetcode-34. 在排序数组中查找元素的第一个和最后一个位置(改进的思路)
只需要使用右区间更新就可以了。放在一起之后好多层的递归是完全没有必要的,所以通过设置。第一次写这道题的时候时候耗时特别长,本次的改进也是在上一次的基础上改进。时,第一次是把更新left和right的操作放在了一起,其实。来区别是在左区间还是右区间里查找更新。这次的改动也是特别小的,在。只用使用左区间更新,原创 2023-07-14 08:30:29 · 146 阅读 · 1 评论 -
leetcode-34. 在排序数组中查找元素的第一个和最后一个位置
可是题目要求使一直想像普通的二分查找一样去解题。模板敲出来之后就不知道改哪里了。这道题我使用分治法完成提交之后虽然通过了,可是耗时有点长,内存消耗也大。现在还没想到别的做法,如果我想到了一定更新。先附上自己的解题思路(刚看到这到题的时候,直接想到的是蛮力法,蛮力法求解思路也很简单,就是遍历一遍数组,但这样的时间复杂度就是。,最小的值就是最终答案的左端点,最大的值自然便是答案的右端点。的位置之后就结束查找了;之后的操作修改一下。这里假设我们找到了一个等于。简单的二分查找法是找到等于。,此时我们只需要在区间。原创 2023-07-13 22:42:56 · 147 阅读 · 1 评论 -
leetcode- 35. 搜索插入位置
这道题目跟很像,只是那道题在没有找到时返回-1,然而本题则要求返回其应该插入(保持升序)的位置。原创 2023-07-13 22:02:08 · 71 阅读 · 1 评论 -
leetcode-704.二分查找
这道题目很简单,直接使用分治法就可以求解。原创 2023-07-13 21:59:54 · 39 阅读 · 1 评论 -
leetcode-15. 三数之和
若nums[k]+nums[left]+nums[right]==0,将其加入结果集。然后进行去重操作,也就是把left向右移动到不等于nums[left-1]的位置,同样right要向前移动到不等于nums[right+1]的位置。然后left向后遍历,right向前遍历。若和大于 0,说明 nums[right]过大,right指针左移。若和小于 0,说明 nums[left] 太小,left指针 右移。这道题就是很典型的双指针的思想,关键地方就在于如何去重。最后对指针k去重,然后向后遍历。原创 2023-07-10 20:08:44 · 145 阅读 · 1 评论