10 2021 档案
摘要:题目 剑指 Offer 57 - II. 和为s的连续正数序列 思路1(双指针/滑动窗口) 所谓滑动窗口,就是需要我们从一个序列中找到某些连续的子序列,我们可以使用两个for循环来遍历查找,但是未免效率太低了。因此我们可以用一个窗口,从左到右只需要遍历一次,然后每次判断当前窗口是否满足条件,不满足就
阅读全文
摘要:RedisUtil工具类: package top.linzeliang.utils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.
阅读全文
摘要:题目 剑指 Offer 57. 和为s的两个数字 思路1(哈希表) 这题首先想到的是使用两个for遍历,查找是哪两个相加等于target,但是时间复杂度确实,时间复杂度太高,因此我们使用HashSet来解决 我们知道hash的查找速度是,因此遍历到每个元素的时候判断一下,
阅读全文
摘要:题目 剑指 Offer 53 - II. 0~n-1中缺失的数字 思路1 排序数组找数字使用二分法 通过题目,我们可以得到一个规律: 如果数组的索引值和该位置的值相等,说明还未缺失数字 一旦不相等了,从左到右第一个不相等位置的索引值就是缺失的数字的值 所以我们使用二分法查找第一个索引值和数组的值不相
阅读全文
摘要:题目 剑指 Offer 53 - I. 在排序数组中查找数字 I 思路1 一般来说,首先想到的是使用一个变量,从头开始遍历整个数组,记录target数组出现的次数,但是这样的时间复杂度是O(n),还是不够高效 题目说了,是排序数组,一想到排序数组,我们可以想到使用二分法: 找出第一个target所在
阅读全文
摘要:题目 剑指 Offer 45. 把数组排成最小的数 思路1 将整数数组转化成字符串数组 然后使用Arrays工具类的sort方法帮助我们排序 代码 class Solution { public String minNumber(int[] nums) { int length = nums.len
阅读全文
摘要:题目 剑指 Offer 39. 数组中出现次数超过一半的数字 思路1(排序) 因为题目说一定会存在超过数组长度一半的一个数字,所以我们将数组排序后,位于length/2位置的一定是众数 代码 class Solution { public int majorityElement(int[] nums
阅读全文
摘要:题目 剑指 Offer 29. 顺时针打印矩阵 思路1 其实就是按照理解题目的意思一步步从外层到内层打印出来,同时将一个外层分成四个部分分步打印 可以用一个变量count来维护当前打印的第几层 判断打印结束了的条件是:count*2<column && count*2<row 但是要注意的是边界条件
阅读全文
摘要:题目 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 思路1 使用头尾双指针left和right,分别指向最左边和最右边 left向右移动,直到遇到了偶数停下 right向左移动,直到遇到了奇数停下 交换left和right的值 如果left大于等于right,说明调整完成 代码 clas
阅读全文
摘要:题目 剑指 Offer 17. 打印从1到最大的n位数 思路1 如果有n位,那么最大值就是,即如果n是2,那么最大就到输出到99 考虑到大数情况,所以使用字符数组 还要把字符数组转化成数字 代码 class Solution { int position = 0; public in
阅读全文
摘要:题目 剑指 Offer 04. 二维数组中的查找 思路1 暴力遍历寻找 代码 class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { if (matrix == null || matrix.
阅读全文
摘要:题目 剑指 Offer 05. 替换空格 思路1 使用辅助数组,边遍历变添加 遇到空格,将空格替换为%20 代码 class Solution { public String replaceSpace(String s) { int length = s.length(); char[] temp
阅读全文
摘要:题目 剑指 Offer 11. 旋转数组的最小数字 思路1(暴力遍历) 不用题目给的部分有序的条件,直接从头开始遍历找最小值 代码 class Solution { public int minArray(int[] numbers) { int min = numbers[0]; for (int
阅读全文