熟悉VS2022环境,新建项目工程和源文件,能够成功运行程序。但建立的每个项目只能成功运行一个程序,否则需要新建一个项目,报错是 LINK : fatal error LNK1104: 无法打开文件“C:\Users\acer\Documents\Visual Studio 2010\Projects\test .exe”。暂时解决方案是对每天的题目都新建一个项目以Day1命名。
今天的2个数组类的题目都自己重写了2遍以上,主要是熟悉写代码的感觉,能够更好的理解掌握好每天的题目。
1、移除数组某个元素,不改变相对位置。1、暴力移除,两个for循环,一个for循环遍历数组,寻找移除元素,另一个for循环更新数组。注意循环更新数组时,索引值相应更新处于循环的具体位置。
2、双指针操作,相对来说,代码简单了很多。两个指针,一个指针寻找非移除元素,并以慢指针为索引更新数组。最后返回的slowIndex就是移除元素后的数组索引,其大小就是新数组大小。return slowIndex这块好好想想。
二分法查找排序数组当中的某个数并返回其索引。思路很正常,顾名思义,每次都以左右区间的中间位置数组来判断target处于数组的那一半,然后更新新数组的边界值,再去做二分法搜索,依次循环。这里的一个问题是更新新数组边界值时,注意区间的开闭问题,是左右都闭还是有一侧是开区间。感觉不是那么难,正常逻辑去做就行。