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