![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线性查找法
线性查找
向光.
路过人间,绝非一瞬间.
展开
-
Leetcode.334. 递增的三元子序列__从暴力到贪心/双向查找
334. 递增的三元子序列给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,4,5]输出:true解释:任何 i < j < k 的三元组都满足题意示例 2:输入:nums = [5,4,3,2,1]原创 2022-01-12 22:25:42 · 356 阅读 · 0 评论 -
算法设计大赛19.蛇形填数---三法(蛇形模拟/双斜向模拟/数学化双直向模拟)
算法设计大赛19.题解:方法一: 直接模拟/蛇形模拟我们直接模拟蛇形走向,设置了一个dir变量来保存每次蛇形遍历时的方向,根据走到边界区域进行转向操作即可。public class Test4 { /* * 19. * */ public static void main(String[] args) { int[][] matrix = new int[1000][1000]; matrix[1][1] = 1;原创 2021-11-22 15:51:48 · 526 阅读 · 0 评论 -
算法设计大赛.题目23.
算法设计大赛题目23.题解:我们直接根据ascii码进行计算即可;代码:public class Test3 { /* * 23 * */ public static void main(String[] args) { String s = "WATJKJDXRGZNXYTW"; int res = 0; int len = s.length(); for(int i=0;i<len;i+原创 2021-11-21 15:45:52 · 168 阅读 · 0 评论 -
Leetcode.240. 搜索二维矩阵 II---二分解题/矩阵性质解题
240. 搜索二维矩阵 II编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true示例 2:输入:matrix = [[1,4,7,11,15],[原创 2021-11-21 13:34:54 · 677 阅读 · 0 评论 -
Leetcode.724. 寻找数组的中心下标---前缀和
724. 寻找数组的中心下标给你一个整数数组 nums ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:中心下标是 3 。左侧数之原创 2021-11-02 08:50:15 · 4175 阅读 · 2 评论 -
Leetcode.500. 键盘行---线性查找
500. 键盘行给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。美式键盘 中:第一行由字符 “qwertyuiop” 组成。第二行由字符 “asdfghjkl” 组成。第三行由字符 “zxcvbnm” 组成。American keyboard示例 1:输入:words = ["Hello","Alaska","Dad","Peace"]输出:["Alaska","Dad"]示例 2:输入:words = ["omk"]输出原创 2021-11-01 19:24:02 · 113 阅读 · 0 评论 -
Leetcode.541. 反转字符串 II
541. 反转字符串 II给定一个字符串 s 和一个整数 k,从字符串开头算起,每 2k 个字符反转前 k 个字符。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。示例 1:输入:s = "abcdefg", k = 2输出:"bacdfeg"示例 2:输入:s = "abcd", k = 2输出:"bacd" 提示:1 <= s.length <= 104s 仅由小写英文组成原创 2021-08-23 20:15:32 · 115 阅读 · 0 评论 -
Leetcode.1929. 数组串联
1929. 数组串联给你一个长度为 n 的整数数组 nums 。请你构建一个长度为 2n 的答案数组 ans ,数组下标 从 0 开始计数 ,对于所有 0 <= i < n 的 i ,满足下述所有要求:ans[i] == nums[i]ans[i + n] == nums[i]具体而言,ans 由两个 nums 数组 串联 形成。返回数组 ans 。示例 1:输入:nums = [1,2,1]输出:[1,2,1,1,2,1]解释:数组 ans 按下述方式形成:- ans =原创 2021-08-12 18:52:50 · 206 阅读 · 0 评论 -
Leetcode.59. 螺旋矩阵 II---模拟顺时针遍历
59. 螺旋矩阵 II给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]] 提示:1 <= n <= 20题解:我们按层遍历即可,从矩阵的最外面一层一直向里扩展,有点类似于“撕包菜”,从最外层一层一层的撕。这样模拟的话逻辑比较清晰,我们只需要对每一层进行四个方原创 2021-07-27 19:27:20 · 117 阅读 · 0 评论 -
Leetcode.6. Z 字形变换---字符串处理(按照行存储的模拟法)
6. Z 字形变换将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:原创 2021-07-20 21:24:11 · 162 阅读 · 0 评论 -
leetcode.645. 错误的集合---三法(桶排序计数法/直接排序/求和法)
645. 错误的集合集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入:nums = [1,2,2,4]输出:[2,3]示例 2:输入:nums = [1,1]输出:[1,2] 提示:2 <= nums.lengt原创 2021-07-06 00:23:09 · 241 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找(多次二分与线性查找)
剑指 Offer 04. 二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26,原创 2021-04-03 13:13:44 · 206 阅读 · 0 评论