![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 50
奶昔爆米花
道阻且长 行则将至
展开
-
二分法及题目
二分法时间复杂度题目一题目解题思路代码题目二题目解题思路代码题目三题目解题思路代码时间复杂度二分查找时,第1次二分后的范围为N/2,第2次二分后的范围为N/4,第3次二分后的范围为N/8…若未找到,则在最后范围为1时结束时间复杂度为 O(logN)题目一题目在一个有序数组中,找某个数是否存在解题思路定义三个指针L代表当前查找范围的左边界R代表当前查找范围的右边界mid 代表当前查找范围的中点位置比较mid指针所在位置的值和目标值如果等于当前值,那么结束循环,返回t原创 2021-07-13 10:10:43 · 493 阅读 · 0 评论 -
异或运算及题目
异或运算定义&性质题目一代码执行结果特殊说明题目二定义&性质位运算相同为0,不同为1也可以记作 无进位相加性质1:0 ^ N=N,N ^ N = 0性质2:满足交换律和结合律题目一不用额外变量交换两个值,用异或运算实现交换代码public static void swap(int[] array,int i,int j){ System.out.println(array[i] + " " + array[j]); array[i] = arra原创 2021-07-12 14:05:12 · 700 阅读 · 0 评论 -
排序算法 - 插入排序
插入排序排序逻辑代码复杂度分析排序逻辑1.给定长度为N的数组2.[0]~[0]范围上,自然有序3.[0]~[1]范围上,[1] 位置值若小于[0]位置,则交换4.[0]~[2]范围上,[2] 位置值若小于[1]位置,则交换[1]和[2];交换后判断[1]位置值若小于[0]位置值则交换5.以此类推…代码public static int[] insert(int[] arr){ for (int i = 1; i < arr.length;i++){ // j从原创 2021-07-12 13:39:00 · 54 阅读 · 0 评论 -
排序算法 - 冒泡排序
冒泡排序排序逻辑代码复杂度分析排序逻辑给定一个数组,假设长度为N第一次循环循环范围为[0]~[N-1][0] 和 [1] 比较,如果 [0] 位置值更大,则交换 [0] 和 [1] 位置的数[1] 和 [2] 比较,如果 [1] 位置值更大,则交换 [1] 和 [2] 位置的数…[N-2] 和 [N-1] 比较,如果 [N-2] 位置值更大,则交换 [N-2] 和 [N-1] 位置的数第二次循环循环范围为[0]~[N-2][0] 和 [1] 比较,如果 [0] 位置值更大,则原创 2021-07-12 10:52:50 · 64 阅读 · 0 评论 -
排序算法 - 选择排序
选择排序排序逻辑代码功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入排序逻辑1.给定一个数组,假设长度为N2.选择逻辑:每次选择范围上的最小值,与当前范围的第一个位置交换3.第一步:在[0]~[N-1]范围上找到最小值,与[原创 2021-07-12 09:36:42 · 62 阅读 · 0 评论