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


真的是閱盡天下代碼,心中已然無碼!
2、洗牌算法
這個(gè)代碼很簡(jiǎn)單,只有兩行代碼,但是卻可以實(shí)現(xiàn)這個(gè)功能:對(duì)于給定的 n 個(gè)元素,生成的那個(gè)排列,每一個(gè)元素都能等概率地出現(xiàn)在每一個(gè)位置。
換句話說,每一個(gè)位置都能等概率地放置每個(gè)元素。
代碼如下:
- for(int i = n - 1; i >= 0 ; i -- )
- swap(arr[i], arr[rand(0, i)]) // rand(0, i) 生成 [0, i] 之間的隨機(jī)整數(shù)
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);
- }
- }
它原理是構(gòu)造 n 個(gè)線程,它們和這 n 個(gè)數(shù)一一對(duì)應(yīng)。
初始化后,線程們開始睡眠,等到對(duì)應(yīng)的數(shù)那么多個(gè)時(shí)間單位后各自醒來,然后輸出它對(duì)應(yīng)的數(shù)。
這樣最小的數(shù)對(duì)應(yīng)的線程最早醒來,這個(gè)數(shù)最早被輸出。
等所有線程都醒來,排序就結(jié)束了。
不要問時(shí)間復(fù)雜度,時(shí)間復(fù)雜度在這個(gè)排序上已經(jīng)毫無意義!
4、AI核心代碼
- while True:
- print(input('').replace('嗎','').replace('?','!'))
這段代碼就是傳說中的 價(jià)值一個(gè)億的AI核心代碼,來看一下效果。
各位技術(shù)大神還知道哪些案例,歡迎留言補(bǔ)充:)




























