自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 链表中点问题

【代码】链表中点问题。

2024-01-09 09:31:15 418

原创 链表Partition问题

【代码】链表Partition问题。

2024-01-09 09:30:34 429

原创 最大线段重合问题

【代码】最大线段重合问题。

2024-01-08 18:35:51 392 1

原创 荷兰国旗快速排序

【代码】荷兰国旗快速排序。

2024-01-05 16:23:33 443 1

原创 countOfRangeSum求数组中多少子数组在lower和upper内

【代码】countOfRangeSum求数组中多少子数组在lower和upper内。

2024-01-03 17:31:55 586 1

原创 右边数两倍比左边数还小的个数biggerThanRightTwice

【代码】右边数两倍比左边数还小的个数biggerThanRightTwice。

2024-01-03 16:33:48 535 1

原创 求数组中有多少个逆序对

public static void main(String[] args) { int[] arr = {1, 3, 4, 5, 6, 12, 123, 1, 2}; int[] arr2 = {1, 3, 4, 5, 6, 12, 123, 1, 2}; int count = process(arr,0,arr.length-1); int count2 = process2(arr2); System.out.prin

2024-01-03 16:01:03 345 1

原创 最小和问题

【代码】最小和问题。

2024-01-03 16:00:30 443 1

原创 归并排序代码

【代码】归并排序代码。

2024-01-02 19:03:27 377

原创 删除链表节点中的某个数

【代码】删除链表节点中的某个数。

2023-12-18 23:40:26 419 1

原创 单双链表反转代码

【代码】单双链表反转代码。

2023-12-18 23:39:55 565 1

原创 统计一个数字出现k次 其他数字都出现m次

1时说明k的位为1。把1左移到对应位置 (1<<i);因为ans结果最开始为0 所以把1或(|)到位上就可以。说明k的那一位为0否则为1;当一个数字出现k次 其他都是m次。数字又移对应位数 &1 全真则真。我们把32位的1都相加起来。1、先统计32位置1的信息。2、当位上统计数%m。

2023-12-14 18:03:00 355 1

原创 两个数出现奇数次,求出这两个数

比如eor1=4。然后我们可以用eor1 和全部数组的数字&比较。就可以提取出来所有这个位为1的数字异或。得到结果是 a(第二位所有是1取出来& 全真则真。所以不会出现另外一个数字)2、两个数字肯定是不同的数。所以会出现换算成32位 一位是0 一位是1的情况。1、首先我们可以异或整个数组 得到的结果肯定是两个出现奇数次的 异或。onlyOne ^ eor就是另外一个数字的值。我们可以eor最后一个1的位置提取出来;也就是 eor =a^b 的结果。

2023-12-14 17:57:42 686 1

原创 一个数出现奇数次其他都出现偶数次,求出这个数

奇数次的话异或完成后只剩下一个数就是本身。如果一个数出现了偶数次。最后异或完成后还剩下0。

2023-12-14 17:47:46 352 1

原创 不适用额外变量交换数值

异或后 任何0位置的数还是0 任何1位置的数都是1 所以 0^n = n。异或后 0的位置都为0 1的位置都也为0 所以 n^n =0。所有有两个结论我们可以得出来。我们需要了解一下异或运算^0的二进制为 00000。n的二进制为 10101。n的二进制为 10101。n的二进制为 10101。

2023-12-14 16:26:26 406 1

原创 二分查找法求是否存在局部最小值

2、mid<left 但是mid>right 此时mid——L 或者mid——R 中间存在局部最小。3、mid>left 但是mid<right 此时mid——L 或者mid——R 中间存在局部最小。mid>mid-1的值此时为上图3所示。所以L-mid存在局部最小 R可以来到mid-1位置。mid>mid+1的值此时为上图而所示。所以mid-R存在局部最小 L可以来到mid+1位置。1、mid<left 并且mid<right 此时mid为局部最小。否则情况为图一直接返回mid即可。

2023-12-12 22:10:46 580

原创 二分查找最左(右)侧数字位置并返回

1、mid =value 需要查看左侧时候还有等于value的值。所以 index下标为mid位置。right来到mid-1位置。2、mid>value时,说明要找寻的数字在左侧。mid>value情况下 说明要求数值在数组右侧。查找到最左侧数字返回下标。mid 值>=value时 两种情况。所以left来到mid+1位置。确定mid中点与数字关系。

2023-12-12 22:02:14 493

原创 二分查找某一个数是否存在

右移一位相当于/2。right来到mid-1位置。因为中点都大于所求数值。所以要找到的数值肯定在左侧数组。left来到mid+1位置。因为中点都小于所求数值。所以要找到的数值肯定在右侧数组。如果mid就是等于value值。返回true 表示数值存在。时间复杂度log2n;大于value值忽略掉数组右侧。小于value值忽略掉数组左侧。不在意细节可以写(L+R)/2。每次以mid为中点。

2023-12-12 21:57:05 377

原创 插入排序及代码

冒泡排序

2023-12-12 20:21:51 394

原创 冒泡排序及代码

冒泡排序

2023-12-12 19:57:34 381

原创 选择排序算法及代码

选择排序

2023-12-12 19:55:53 368

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除