那些只有幾行,但是卻非常牛的代碼
1、no code
項(xiàng)目地址:GitHub - kelseyhightower/nocode: The best way to write secure and reliable applications. Write nothing; deploy nowhere.「鏈接」
這是一個(gè) GitHub 上的項(xiàng)目,目前標(biāo)星 34k。
它的牛逼之處在于它 基于輕量級(jí)跨平臺(tái)全自動(dòng)不可描述工具,采用了不可描述的高級(jí)語言語法,不用寫一行代碼,即可部署運(yùn)行,提供檢測(cè)、編譯、打包、安裝、運(yùn)行一條龍服務(wù),安全可靠。
看完代碼后,國內(nèi)外的程序員紛紛留言夸獎(jiǎng)。
真的是閱盡天下代碼,心中已然無碼!
2、洗牌算法
這個(gè)代碼很簡(jiǎn)單,只有兩行代碼,但是卻可以實(shí)現(xiàn)這個(gè)功能:對(duì)于給定的 n 個(gè)元素,生成的那個(gè)排列,每一個(gè)元素都能等概率地出現(xiàn)在每一個(gè)位置。
換句話說,每一個(gè)位置都能等概率地放置每個(gè)元素。
代碼如下(JDK中Collections.shuffle()也是這樣實(shí)現(xiàn)的):
- for(int i = n - 1; i >= 0 ; i -- )
- // rand(0, i) 生成 [0, i] 之間的隨機(jī)整數(shù)
- swap(arr[i], arr[rand(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);
- }
- }
它原理是構(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核心代碼,來看一下效果。
5、獲取第二天時(shí)間
代碼如下:
- // 人才人才
- thread.sleep(86400*1000L);
5、0x5f375a86
這個(gè)數(shù)字有多神奇?你可以自己百度一下!
這個(gè)數(shù)字是某引擎的源代碼里包括的一個(gè)反平方倒數(shù)的算法,其速度要比標(biāo)準(zhǔn)的牛頓迭代法快上 4 倍,而其中的關(guān)鍵是一行神秘的代碼和一個(gè)莫名其妙的數(shù)字:[ i = 0x5f3759df - ( i >> 1 ); // what the fuck? ] 。代碼如下:
沒有人知道Carmack是怎么發(fā)現(xiàn)這個(gè)數(shù)字的。普度大學(xué)的數(shù)學(xué)家Lomont覺得很好玩,決定要研究一下卡馬克弄出來的這個(gè)猜測(cè)值有什么奧秘。Lomont也是個(gè)牛人,在精心研究之后從理論上也推導(dǎo)出一個(gè)最佳猜測(cè)值,和卡馬克的數(shù)字非常接近, 0x5f37642f。卡馬克真牛,他是外星人嗎?
傳奇并沒有在這里結(jié)束。Lomont計(jì)算出結(jié)果以后非常滿意,于是拿自己計(jì)算出的起始值和卡馬克的神秘?cái)?shù)字做比賽,看看誰的數(shù)字能夠更快更精確的求得平方根。結(jié)果是卡馬克贏了... 誰也不知道卡馬克是怎么找到這個(gè)數(shù)字的。最后Lomont怒了,采用暴力方法一個(gè)數(shù)字一個(gè)數(shù)字試過來,終于找到一個(gè)比卡馬克數(shù)字要好上那么一丁點(diǎn)的數(shù)字,雖然實(shí)際上這兩個(gè)數(shù)字所產(chǎn)生的結(jié)果非常近似,這個(gè)暴力得出的數(shù)字是0x5f375a86。
Lomont為此寫下一篇論文,"Fast Inverse Square Root"。
6、hello world
嗯,這個(gè)一定要寫上。不管你學(xué)的是什么語言,都肯定寫過hello world的!