摘要:
二分查找之查找数组中相同的多个元素详解 思路分析 如果数组中有多个相同的元素,而正好要查找这些元素的下标,则应该以集合的形式返回 二分查找的整体思路不变,还是使用递归查找,若没有找到则返回空集合 但是当找到一个要查找的元素时,不能直接返回,而是向左或者向右扫描,判断找到的这个元素左侧或者右侧元素也是 阅读全文
posted @ 2021-06-03 22:34
mx_info
阅读(1107)
评论(0)
推荐(0)
摘要:
二分查找详解 思路分析 二分查找是经常使用的一种查找算法,查找速度快,只需要O(log n)时间复杂度 但是二分查找要求原始数组是有序的,即要么升序,要么降序 使用递归的思路,考虑递归结束的条件,即要么找到该元素,要么查找完数组还没有找到该元素,都结束递归 源码及详解见下 源码及分析 /** * 二 阅读全文
posted @ 2021-06-03 21:57
mx_info
阅读(77)
评论(0)
推荐(0)
摘要:
线性查找详解 说明 线性查找是最简单的查找算法,即遍历一次数组,将要查找的元素和数组中的所有元素一一比对 如果找到该元素,则返回该元素对应的索引,否则返回-1表示没有找到 线性查找不要求数组是有序的,但是遍历数组耗时较多 一般情况下不建议使用 源码 /** * 线性查找 * 如果在数组中找到该值,则 阅读全文
posted @ 2021-06-03 17:14
mx_info
阅读(148)
评论(0)
推荐(0)
摘要:
基数排序详解 思路分析 基数排序是典型的以空间换时间的排序算法,但是当对大量数据进行排序时,可能会出现空间不足的情况 基数排序实质上是对桶排序的升级,核心思想是对数组中的每个元素从低位到高位开始排序,在较小数据高位补零,使数组中个元素长度相同 因此需要大量空间,即创建十个桶用来辅助排序,用二维数组来 阅读全文
posted @ 2021-06-03 16:48
mx_info
阅读(178)
评论(0)
推荐(0)
摘要:
LeetCode54. 螺旋矩阵 题目描述 /** * * 给你一个 m 行 n 列的矩阵 matrix , * 请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 * */ 思路分析 螺旋矩阵,即螺旋输出矩阵,即将每层按照顺时针的方式将其元素保存在集合中然后输出 定义四个变量 left right 阅读全文
posted @ 2021-06-03 10:44
mx_info
阅读(68)
评论(0)
推荐(0)
摘要:
leetCode59. 螺旋矩阵 II 题目描述 /** * * 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素, * 且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 * */ 思路分析 螺旋生成矩阵,可以将一个矩阵看作二维数组,也就是按照顺时针在二维数组中填充数 阅读全文
posted @ 2021-06-03 10:00
mx_info
阅读(73)
评论(0)
推荐(0)

浙公网安备 33010602011771号