日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

输入 n 个整数,输出其中最小的 k 个

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 输入 n 个整数,输出其中最小的 k 个 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

/* 輸入 n 個整數,輸出其中最小的 k 個* TreeMap 和 TreeSet 是 Java Collection Framework 的兩個重要成員,* 其中 TreeMap 是 Map 接口的常用實現類,而 TreeSet 是 Set 接口的常用實現類* 。雖然 HashMap 和 HashSet 實現的接口規范不同,但 TreeSet 底層是通過 TreeMap 來實現的,因此二者的實現方式完全一樣。而 TreeMap 的實現就是紅黑樹算法。* 1. 紅黑樹并不追求“完全平衡”——它只要求部分地達到平衡要求,降低了對旋轉的要求,從而提高了性能* 2.AVL樹是最先發明的自平衡二叉查 找樹。在AVL樹中任何節點的兩個兒子子樹的高度最大差別為一,所以它也被稱為高度平衡樹。查找、插入和刪除在平均和最壞情況下都是O(log n)。增加和刪除可能需要通過一次或多次樹旋轉來重新平衡這個樹。* 3. MyComparator 不可以返回為0, 為0表示相等,TreeSet 里面只存唯一的數字* 因為我們使用 new MyComparator() 修改了她的默認排序規則*/public static void findkmin(int[] array, int k){TreeSet<Integer> kminset = new TreeSet<Integer>();for(int i = 0 ; i < array.length; i ++){if(kminset.size() < k ){kminset.add(array[i]);continue;}if(array[i] < kminset.first()){kminset.remove(kminset.last().intValue());// 假如 TreeSet<Integer> kminset = new TreeSet<Integer>(new MyComparator()); 是這樣申請的// treesset 刪除一個元素的時候必須刪除最后一個,因為刪除開始或者中間的一個會引起其排序不穩定,所以刪除會失敗// 因為我們使用 new MyComparator() 修改了她的默認排序規則kminset.add(array[i]);}}System.out.println("***************************************************");for(Integer in : kminset){System.out.print(in +" ");}System.out.println("\n***************************************************"); }

轉載于:https://my.oschina.net/u/1388024/blog/877050

總結

以上是生活随笔為你收集整理的输入 n 个整数,输出其中最小的 k 个的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。