数组
王子元1107
新西兰顶级名校麦克林斯大学 计算机科学专业 毕业
新西兰最佳华人IT企业good pos初级后端开发工程师
展开
-
leetcode_1089_复写零
对于这道题目的话,我将按照传统方法往数组里插入数值,上代码。原创 2022-06-30 11:42:01 · 114 阅读 · 0 评论 -
leetcode_485_最大连续1的个数
第一次看这道题目的时候想到了用滑动窗口,想了下如何移动窗口,也想了很多边角情况。其实代码比想象的简单很多,简单来说,用一个指针遍历数组,只要碰到1,就开始内循环,看看连续的数字1有几个。注意,虽然用了两个while循环但是时间复杂度还是O(N),原因的话就是整个数组的每个数值,只是遍历了一遍。...原创 2022-06-30 10:33:27 · 131 阅读 · 0 评论 -
leetcode_54_螺旋矩阵
这一道题目,思路再题目里面已经告诉你了,就是从外到内以螺旋的方式一层一层的打印出数值。而我这里的思路是,分别定义四个边界,top, bottom, left, right,在一个while循环中加上四个内循环,分别从top left 打印到top right, top right打印到bottom right, bottom right到bottom left,再从bottom left到top left。每当我们打印完一行或者一列之后需要调整边界。上代码...原创 2022-06-28 23:07:20 · 1417 阅读 · 0 评论 -
leetcode_76_最小覆盖子串
一道偏难的leetcode题目,一开始看到题目的标题可能就会想到滑动窗口,且这种找字符串子串的题目,基本都会用到hashmap。但是一开始可能想不到很好的思路,若是采用暴力遍历法,那么获得所有字串需要的时间为O(n2),每一次还需要对比哈希表,那么时间复杂度直接就成了O(n3),时间复杂度太高,直接不予考虑。直接上代码来解释这里额外插一句,在进行Integer的大小比较的时候,需要使用equals方法,否则过不去几个特殊情况,原因涉及到jvm以及封装问题,这里就不展开了。......原创 2022-06-28 13:51:02 · 86 阅读 · 0 评论 -
leetcode_283_移动零
又是一道经典的滑动窗口题目,具体的知识点可以参考我之前的这篇帖子leetcode26_删除重复项废话不多说,直接上代码原创 2022-06-28 11:50:32 · 89 阅读 · 0 评论 -
leetcode_26_删除排序数组中的重复项
在这里插入图片描述其实这道题目,一开始想的时候可能会有点懵,但是其实就是一道经典的滑动窗口题目。滑动窗口的入门请参考以下文章,leetcode_209_长度最小的子数组其实大概的逻辑就是,当fast指针所遍历到的数值与slow数值所指向的数值不同的时候,我们就让slow指针所指向的下一个数值等于当前fast的数值。代码如下:简单解释下nums[++slow] = nums[fast],在这里slow的数值会先加一,在被赋值成nums[fast]。...原创 2022-06-27 17:32:17 · 961 阅读 · 0 评论 -
leetcode_367_有效的完全平方数
这道题目和我之前发布过的https://blog.csdn.net/jasonjin1107/article/details/125487064?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125487064%22%2C%22source%22%3A%22jasonjin1107%22%7D&ctrtid=qfpyk很相似,都是涉及到了二分查找.而唯一的不同是,我这里直接把原创 2022-06-27 17:06:29 · 1074 阅读 · 0 评论 -
leetcode_69_x 的平方根
这道题目,用到的是二叉查找的思想。原因就是,在二分查找的过程中,若是找到了平方根,那么直接返回就可以,若是没有,在二分查找的循环结束之后,left或者right的数值就是最接近题目要求的数值(这里就不进行数学的证明了,反正试一下就知道了)。这里可能会对mid > x / mid, mid < x / mid这样的语句有疑问。为什么不写成mid * mid > x或者mid * mid.........原创 2022-06-27 16:40:53 · 1042 阅读 · 0 评论 -
leetcode_209_长度最小的子数组
leetcode题目209以下是题目介绍这道题目是一道滑动窗口的经典问题,这里滑动窗口的原则就是为了让窗口里的数值符合条件,也就是大于等于target,当满足条件的时候便从左侧开始逐渐减少窗口的长度(用来找出最短窗口长度),直到滑动窗口里的数值不满足题目条件为止......原创 2022-06-26 16:48:32 · 76 阅读 · 0 评论 -
leetcode_704_二分查找
leetcode 704 二分查找原创 2022-06-24 13:43:24 · 100 阅读 · 0 评论 -
leetcode_977_有序数组的平方
左右双指针,小白解法原创 2022-06-24 15:17:53 · 143 阅读 · 1 评论 -
leetcode_35_搜索插入位置
又是一道经典的二分查找题目,为什么是二分查找呢?其实只需要看几个关键信息。这道题目要求时间复杂度为O(log n),并且给了一个排好序的数组不论是什么样的二分查找,其实涉及到的就是一些边界的判断,比如说是应该left.........原创 2022-06-26 16:36:44 · 111 阅读 · 0 评论 -
leetcode_59_螺旋矩阵II
虽然这道题目的难度是medium,但是本身的逻辑比较简单。拿以上n=3的情况来说,只需要在外围一圈逐次添加数值,中心位置单独赋值就可以了。废话不多说了,上代码可以看到代码不难理解,但是可能会有一些关于offset的疑问。可以看到在上面的四次while循环中,没有直接循环到边界的情况,都是跟边距有一点距离的,而这个距离就是offset。有了offset,才好进行赋值,否则则需要一大堆if语句,极其容易使代码变得混乱。............原创 2022-06-26 16:38:42 · 85 阅读 · 0 评论 -
leetcode27_移除元素
leetcode 27题,双指针,小白解法原创 2022-06-24 14:54:55 · 113 阅读 · 0 评论