自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通过Java枚举实现策略模式,消除if/else块对项目维护的影响

问题: 给你n个无序的像m的整型数 ,在客户端选择一个排序算法(快速、归并、堆)去实现数组从小到大的排序。(0 <= n <= 5 * 104,-1 * 105 <= m <= 1 * 105) 提示: 这里将省略之前排序文章中已有的代码:快速排序、归并排序、堆排序 不使用策略模式 public class Client { public static void main(String[] args) { int[] a = {12, -10, 30, 8

2021-01-17 23:39:46 246

原创 Java大顶堆实现堆排序

堆排序 时间复杂度 最好情况:O(nlog2n) 最坏情况:O(nlog2n) 平均情况:O(nlog2n) 稳定性 稳定性:不稳定 现在给你n个无序的像m的整型数,请使用归并排序实现从小到大的顺序。(0 <= n <= 5 * 104,-1 * 105 <= m <= 1 * 105) public class HeadSort { public static void sort(int[] a) { headSort(a, a.length - 1);

2021-01-17 19:22:05 82

原创 Java递归实现归并排序

归并排序 时间复杂度 最好情况:O(nlog2n) 最坏情况:O(nlog2n) 平均情况:O(nlog2n) 空间复杂度 空间复杂度:O(n) 稳定性 稳定性:稳定 现在给你n个无序的像m的整型数,请使用归并排序实现从小到大的顺序。(0 <= n <= 5 * 104,-1 * 105 <= m <= 1 * 105) public class MergeSort { public static void sort(int[] a) { mergeSor

2021-01-17 19:11:20 74

原创 Java递归实现快速排序

快速排序 时间复杂度 最好情况:O(nlog2n) 最坏情况:O(n2) 平均情况:O(nlog2n) 现在给你n个无序的像m的整型数,请使用快速排序实现从小到大的顺序。(0 <= n <= 5 * 104,-1 * 105 <= m <= 1 * 105) public class QuickSort { public static void sort(int[] a) { quickSort(a, 0, a.length - 1); }

2021-01-17 19:02:30 69

原创 String创建了几个对象的问题

情况一 String str1 = "hello"; 如果字符串常量池中不存在“hello”,创建1个对象,否则创建0个对象。 情况二 String str2 = "hello, " + "world"; 上面的代码会进行编译期优化,等价于String str1 = “hello, world”,与情况一 相同。 情况三 new String("hello); 如果字符串常量池中不存在"hello",创建2个对象,否则创建1个对象。 情况四 ...

2020-12-02 23:51:28 897 1

原创 你真的懂Integer的缓存机制吗?

valueOf与parseInt 推荐使用parseInt方法,因为valueOf的底层也是调用了parseInt方法,并且只能将数字型字符串转化为十进制整型。 valueOf底层源码 public static Integer valueOf(String s) throws NumberFormatException { return Integer.valueOf(parseInt(s, 10)); } Integer的缓存机制 Integer首次使用时会初始化缓存,默认情况下,缓存[low, h

2020-05-21 18:52:24 296 3

空空如也

空空如也

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

TA关注的人

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