自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-08-28

学习目标:堆排序扩展题目已知一个几乎有序的数组,几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过k, 并且k相对于数组来说比较小。请选择一个合适的排序算法针对这个数组进行排序。public static void sortedArrDistanceLessK(int[] arr,int k) { PriorityQueue<Integer> heap=new PriorityQueue<>();//提供的小根堆,每次默认弹出的是最小的数 int

2021-09-04 14:57:30 326

原创 java快速排序算法

学习目标:快速排序算法荷兰国旗问题:问题一:给定一个数组arr,和一个数num,请把小于num的数放在num左边,大于num的数放在num右边,要求额外空间复杂度为o(1),时间复杂度为o(n)问题二:给定一个数组arr,和一个数num,请把小于num的数放在num左边,等于num的数放中间,大于num的数放在num右边,要求额外空间复杂度为o(1),时间复杂度为o(n)学习内容:快排思想:利用荷兰国旗问题二原理,随机在数组中选取一个数num,将其与最右侧R=arr.length-1位置上的数值交

2021-08-28 17:52:07 131

原创 java归并排序

学习算法:归并排序:1)整体是一个简单递归,左边排好序,右边排好序,让其整体有序。2)时间复杂度 o(N*logN),额外空间复杂度o(N)学习产出:public class mergeSort {public static void mergeSort(int[] arr) { if (arr==null||arr.length<2){ return; } process(arr,0,arr.length-1);}

2021-08-28 16:44:06 207

原创 java异或运算符

异或运算符“^” 是异或运算符,异或的规则是转换成二进制比较,相同为0,不同为1.异或运算符可认为是无进位的二进制相加,如:6^7如6二进制为:0000 0110如7二进制为:0000 0111则6^7=1异或运算符性质(1)0^N=N; N^N=0(2)满足交换律及结合律简单的算法题(1)如果一个数组中只有一个数出现了奇数次,剩下的数都出现了偶数次,求这个出现了奇数次的数。public static void getData(int[] arr) { int

2021-08-23 15:10:32 7164

空空如也

空空如也

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

TA关注的人

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