自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java实用方法(二十八)——比较器(Comparable、Comparator )

1,Arrays是针对数组操作的类,Collections是针对集合操作的类collections用法整理 Collections.sort的两种用法2,Comparable一般在自定义类的时候使用。如果自定义类没有实现Comparable接口,还需要有某种排序的功能, 那么就要用上Comparator 比较器了比较器(Comparable、Comparator) 对比较器升序、降序...

2019-04-24 17:26:36 403

原创 排序——029最小的K个数

1,问题描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。2,解题思路(1)思路一:直接利用各种排序算法(快排、冒泡排序、选择排序、堆排序)对数组进行从小到大的排序。然后输出前K个。这种方法容易想到,但不是最优的算法。(2)思路二:将原数组的前K个元素构建成一个最大堆,然后从第K+1个元素开始,依次和堆...

2019-04-24 17:24:19 200

原创 排序算法——快速排序(原理+源码)

1,原理(转自MoreWindows大神)快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。该方法的基本思想是:(1).先从数列中取出一个数作为基准数。(2).分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。(3).再对左右区间重复第二步,直...

2019-04-15 15:02:10 536

原创 堆的四种操作+堆排序

1,定义+图解直接推荐一篇讲解比较好的博客吧:彻底弄懂最大堆的四种操作(图解+程序)(JAVA)堆排序算法分析:时间复杂度:平均情况 O(nlogn);最好情况O(nlogn);最坏情况O(nlogn); 空间复杂度:O(1)。 稳定性:不稳定。2,堆的插入、删除、初始化、堆排序源码package manduner;import java.util.ArrayList;...

2019-04-11 15:19:29 715

原创 java实用方法整理(二十七)——PriorityQueue实现最小堆和最大堆

1,PriorityQueue默认实现的是最小堆import java.util.PriorityQueue;/*** @author Manduner_TJU* @version 创建时间:2019年4月10日下午4:51:00*/public class Test9 { public static void main(String[] args) { int[] a =...

2019-04-10 23:13:05 2359

原创 数组——028数组中出现次数超过一半的数字

1,问题描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。2,解题思路(1)思路一:遍历数组,统计每个元素出现的次数。思路简单,但是时间复杂度是O(n^2).(2)思路二:阵地攻守。阵地攻守思想:先找出可能的目标...

2019-04-08 16:53:06 144

原创 链表——025复杂链表的复制

1,问题的描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)2,解题思路(转自牛客网)(1)遍历链表,复制每个节点并将该复制后的新节点放至旧节点之后,先不用管每个节点的随机节点(2)重新遍历链表,复制旧节点的随机指针...

2019-04-02 17:14:20 141

转载 Java中的形参和实参的区别以及传值调用和传引用调用

1,名词解析(1)形参:形参出现函数定义中,在整个函数体内都可以使用,离开函数则不能使用。(2)实参:实参出现在主函数中,进入被调函数后,实参变量也不能使用。(3)形参和实参的功能是做数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而向被调函数传送数据。2,形参和实参的区别(1)形参变量只有在被调用时才分配内存单元,在调用结束后,立即释放所分配的内存单元。因此...

2019-04-02 16:10:22 885

原创 树——024二叉树中和为某一值的路径

1,问题描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)2,解题思路(1)注意事项满足该题条件的路径一定是从根节点到叶节点,也就是说,即使根节点到某个非叶子节点的节点值之和等于目标值,那该条路径也不能算作本题定义的路径。 如...

2019-04-01 22:57:12 128

空空如也

空空如也

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

TA关注的人

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