世界上有哪些代碼量很少,但很厲害很經典的算法或項目案例?
今天分享四個代碼量很少,但很牛逼很經典的算法或項目案例。
1、no code
項目地址:
https://github.com/kelseyhightower/nocode
這是一個 GitHub 上的項目,目前標星 34k。
它的牛逼之處在于它 基于輕量級跨平臺全自動不可描述工具,采用了不可描述的高級語言語法,不用寫一行代碼,即可部署運行,提供檢測、編譯、打包、安裝、運行一條龍服務,安全可靠。
看完代碼后,國內外的程序員紛紛留言夸獎。


真的是閱盡天下代碼,心中已然無碼!
2、洗牌算法
這個代碼很簡單,只有兩行代碼,但是卻可以實現這個功能:對于給定的 n 個元素,生成的那個排列,每一個元素都能等概率地出現在每一個位置。
換句話說,每一個位置都能等概率地放置每個元素。
代碼如下:
- for(int i = n - 1; i >= 0 ; i -- )
- swap(arr[i], arr[rand(0, i)]) // rand(0, i) 生成 [0, i] 之間的隨機整數
3、睡眠排序
代碼如下:
- public class SleepSort {
- public static void main(String[] args) {
- int[] ints = {1,4,7,3,8,9,2,6,5};
- SortThread[] sortThreads = new SortThread[ints.length];
- for (int i = 0; i < sortThreads.length; i++) {
- sortThreads[i] = new SortThread(ints[i]);
- }
- for (int i = 0; i < sortThreads.length; i++) {
- sortThreads[i].start();
- }
- }
- }
- class SortThread extends Thread{
- int ms = 0;
- public SortThread(int ms){
- this.ms = ms;
- }
- public void run(){
- try {
- sleep(ms*10+10);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println(ms);
- }
- }
它原理是構造 n 個線程,它們和這 n 個數一一對應。
初始化后,線程們開始睡眠,等到對應的數那么多個時間單位后各自醒來,然后輸出它對應的數。
這樣最小的數對應的線程最早醒來,這個數最早被輸出。
等所有線程都醒來,排序就結束了。
不要問時間復雜度,時間復雜度在這個排序上已經毫無意義!
4、AI核心代碼
- while True:
- print(input('').replace('嗎','').replace('?','!'))
這段代碼就是傳說中的 價值一個億的AI核心代碼,來看一下效果。
各位技術大神還知道哪些案例,歡迎留言補充:)