10 2022 档案

摘要:package class02; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.Map; /** * Code03的变型 * 有一个数组arr,其中只有一种数 阅读全文
posted @ 2022-10-29 14:29 TheFloorIsNotTooHot 阅读(20) 评论(0) 推荐(0) 编辑
摘要:package class02; import java.util.HashMap; import java.util.HashSet; import java.util.Map; /** * 有一个数组arr,其中只有一种数出现了K次,其余所有的数都都出现了M次。 * K < M,M > 1。 * 阅读全文
posted @ 2022-10-29 14:24 TheFloorIsNotTooHot 阅读(94) 评论(0) 推荐(0) 编辑
摘要:package class02; /** * 在arr中,只有一种(两种)数字,出现了奇数次,其余的数都出现了偶数次。找出这一种(两种)出现了奇数次的数字。 */ public class Code02_EvenTimesOddTimes { public static void main(Stri 阅读全文
posted @ 2022-10-29 14:22 TheFloorIsNotTooHot 阅读(26) 评论(0) 推荐(0) 编辑
摘要:package class02; import java.util.Arrays; /** * 不借助第三个变量,交换两个数。(使用异或^) * 异或(^):相同为0,不同为1。 * 记为:无进位相加。 */ public class Code1_Swap { public static void 阅读全文
posted @ 2022-10-29 14:19 TheFloorIsNotTooHot 阅读(38) 评论(0) 推荐(0) 编辑
摘要:package class01; /** * 局部最小问题 * <p> * 对于一个数组,使用二分法的前提,一定是这个数组整体有序吗? * 答:不是。局部最小问题就是反例。 */ public class Code07_BSAwesome { public static int getLessInd 阅读全文
posted @ 2022-10-29 14:16 TheFloorIsNotTooHot 阅读(17) 评论(0) 推荐(0) 编辑
摘要:package class01; import java.util.Arrays; /** * 在arr上,返回小于等于targetNum的最右的位置。 * 如果没有则返回-1。 */ public class Code06_BSNearRight { public static int neare 阅读全文
posted @ 2022-10-29 14:15 TheFloorIsNotTooHot 阅读(18) 评论(0) 推荐(0) 编辑
摘要:package class01; import java.util.Arrays; /** * 在arr上,返回arr中大于等于targetNum的最左的位置。 * (如果有,就返回这个最左的索引。如果没有,可以返回-1。) * 使用了二分法。 */ public class Code05_BSNe 阅读全文
posted @ 2022-10-29 14:14 TheFloorIsNotTooHot 阅读(18) 评论(0) 推荐(0) 编辑
摘要:package class01; import java.util.Arrays; /** * 二分法 * 已知一个有序数组arr,和一个数字num。返回数组中是否含有这个数字。(使用二分法) * <p> * 常规二分法的时间复杂度,O(logN)。 * O(log2N),即log以2为底,N的对数 阅读全文
posted @ 2022-10-29 14:13 TheFloorIsNotTooHot 阅读(52) 评论(0) 推荐(0) 编辑
摘要:package class01; import java.util.Arrays; /** * 插入排序 * 概述:先将i指向第二个数(索引为1),将j指向i-1位置,如果j大于等于0,并且arr[j]>arr[j+1],将将arr[j]和arr[j+1]交换。j--。 */ public clas 阅读全文
posted @ 2022-10-29 14:08 TheFloorIsNotTooHot 阅读(19) 评论(0) 推荐(0) 编辑
摘要:package class01; import java.util.Arrays; /** * 冒泡排序 * 概述:每相邻的2个数比较,较大的数向后交换。排到最后一个位置时,它就是整个数组的最大值,第一轮结束。 * 继续从第0位置和第1位置的2个数比较。周而复始。 */ public class C 阅读全文
posted @ 2022-10-29 14:06 TheFloorIsNotTooHot 阅读(15) 评论(0) 推荐(0) 编辑
摘要:package class01; import java.util.Arrays; /** * 选择排序 * 概述:n个数,n次循环(10个数就是10次循环),每次循环找出本轮的最小值,和本轮的第一个位置的数,交换。周而复始。直至该乱序数组有序。 */ public class Code01_Sel 阅读全文
posted @ 2022-10-29 13:23 TheFloorIsNotTooHot 阅读(16) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示