![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码随想录
Kykywka
这个作者很懒,什么都没留下…
展开
-
代码随想录-数组5-螺旋矩阵II
代码随想录》中给出的是确定了左闭右开区间之后的暴力解法,有点难以理解。同样是暴力解法,谁又比谁更高贵呢?所以我选择更好理解的。原创 2024-05-09 14:14:03 · 150 阅读 · 0 评论 -
代码随想录-数组4-长度最小的子数组
我曾经考虑过,看着Integer.MAX_VALUE心里不舒服的话,初始值可以用nums.length+1,但是对于一个很长的数组,我们不输出nums.length的话,其实nums.length+1的结果欺骗性还是很大,需要额外加个if语句判断result是否小于nums.length+1,满足才是合法输出为了省事还是用Integer.MAX_VALUE好了。如果满足条件的最小子数组就是nums[]本身,那result的值还是nums.length。方法二:滑动窗口(类似双指针)原创 2024-05-09 08:53:44 · 123 阅读 · 0 评论 -
代码随想录-数组3-有序数组的平方
方法一:暴力解法(先平方,后排序)时间复杂度O(N^2)方法二:双指针(从两边向中间靠近)原创 2024-05-08 16:52:00 · 167 阅读 · 1 评论 -
代码随想录-数组2-移除元素
读指针不断移动,寻找需要被移动的元素,找到就写入写指针所指的位置。写指针比读指针走得慢,所以读指针走过的位置都是可写的。(读指针走过的位置分两种:1.等于val的位置视为可写的位置,直接越过;2.不等于val的位置需要保留,通过写指针写到新数组)读指针便利完原数组之后,写指针指向下一个可以写的位置,比新数组最后一个元素的下标大1,即为新数组的长度。思路:一层循环负责找数组中需要删除的元素,另一层循环负责删除元素之后移动后面的元素。你不需要考虑数组中超出新长度后面的元素。的元素,并返回移除后数组的新长度。原创 2024-05-06 10:56:40 · 223 阅读 · 0 评论 -
代码随想录-数组1-二分法查找(折半查找)
力扣704题 二分法查找(折半查找) Java实现思路原创 2024-05-06 10:31:06 · 159 阅读 · 0 评论 -
[代码随想录-数组1-二分法查找(折半查找)]
首先将给定值val与数组中间位置的元素作比较,若相等则查找成功(最理想情况),返回该元素的存储位置;若不等,则根据比较的结果在数组的前一段或者后一段查找。nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。输入: nums = [-1,0,3,5,9,12], target = 9。输入: nums = [-1,0,3,5,9,12], target = 2。解释: 2 不存在 nums 中因此返回 -1。给定一个 n 个元素。原创 2024-05-06 10:24:41 · 114 阅读 · 0 评论