一.今日梗概
1.今日完成的题目是704.二分查找以及27.移除元素, 二分查找花费时间较少, 移除元素,花费较长时间。
2.尝试使用vs code 结合leetcode插件本地刷帖, 配置 C++ 没有成功,花费较长时间。 花里胡哨的设置了背景。 好看。
二.思路记录
1.704题:这道题目我的提交记录只有一条,拿到手的第一个想法就是排序。 然后。 二分查找。再看题解的过程中发现了,左闭右开,左开右闭这样的说法存在。 因为时间问题,我现在还没有完全看清楚别的解法, 在此附上链接,以便后续复习。704. 二分查找 - 力扣(LeetCode)
2.27题:这道题,我的问题比较多。 从昨天到今天,我一共有七条提交记录,然后有几条不是自己写的,因为我想试验一下执行时长,我的暴力解法的执行时长是零毫秒。 然后我想记录一下我最初的一个思路,想通过对最初思路的记录来跟以后的思路形成对比。拿到这个题目的时候我第一个反应是不是跟上一道题得二分是有关系的。 因为我会主动去猜测两道题目之间的关联性。 所以说我拿到手第一件事做的就是对他进行了排序,因为如果我想要使用二分的话,那就必须要使我的数组是有序的。呃,很显然,在后续会证明这一想法的奇怪。 但是呢,也不是完全不可做的,我的思路就是我对这个。 数组进行排序。排完序之后,我再利用二分的方法找到第一个Target。 找到这个target之后呢,我就以这个位置为出发点,向两边寻找所有的target的边界。 然后利用for循环 以及我所知道的边界条件把这些值给删除。 理论上是可行的,但是我试验了很多次,应该是循环的条件控制的不好, 最终没有得出正确答案。 此外, 我这个方法 运行之后,得到的最终结果也过不了。最后我看的是https://www.bilibili.com/video/BV12A4y1Z7LP 这个视频讲解链接。双指针是很巧妙的方法。 数组删除元素的本质是覆盖,所以说我们用双指针,一个是快指针,一个是慢指针。快指针呢是 找到新数组的元素, 慢指针确定覆盖的位置。27. 移除元素 - 力扣(LeetCode)