摘要:記錄所有算法相關(guān)知識(shí)。算法均已驗(yàn)證,可以直接運(yùn)行。如有錯(cuò)誤,謝謝指出。斐波那契數(shù)列兩種實(shí)現(xiàn)方式每次都會(huì)再生成兩個(gè)新的,時(shí)間復(fù)雜度不建議用這種。輸出遞歸實(shí)現(xiàn)。注意要用,否則為零時(shí)也會(huì)判斷成
記錄所有算法相關(guān)知識(shí)。算法均已驗(yàn)證,可以直接運(yùn)行。
如有錯(cuò)誤,謝謝指出。
1.斐波那契數(shù)列兩種實(shí)現(xiàn)方式
2.有5個(gè)人偷了一堆蘋(píng)果,準(zhǔn)備在第二天分贓。 晚上,有一人遛出來(lái),把所有蘋(píng)果分成5份,但是多了一個(gè),順手把這個(gè)扔給樹(shù)上的猴了,自己先拿1/5藏了。沒(méi)想到其他四人也都是這么想的,都如第一個(gè)人一樣分成5份把多的那一個(gè)扔給了猴,偷走了1/5。第二天,大家分贓,也是分成5份多一個(gè)扔給猴了。最后一人分了一份。問(wèn):共有多少蘋(píng)果?N 個(gè)人呢?
3.輸出一組數(shù)組的全排列。 [1,2,3] 輸出 [1,2,3] [1,3,2] [2,1,3] [2,3,1] [3,1,2] [3,2,1]
4.假設(shè)密碼為六位數(shù)字構(gòu)成,比如‘000231’ ‘345678’。但我們不知道傳入的密碼值,要求破解輸出密碼。
$password) { $right = $middle - 1; } else if ($middle < $password) { $left = $middle + 1; } else { $hack = $middle; break; } } //前邊放0組成六位密碼 $hack = str_pad($hack, 6, "0", STR_PAD_LEFT); return $hack; }5.看到過(guò)一篇數(shù)組一一對(duì)應(yīng)的加密解密算法,又想到array_map這種可以傳遞callback的函數(shù)。所以試著重寫(xiě)加密解密函數(shù).相似的函數(shù)還有array_filter, array_walk.這篇文章對(duì)array函數(shù)總結(jié)的很好
https://code.tutsplus.com/tut...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/28546.html
摘要:分別為適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。設(shè)計(jì)模式五適配器模式適配器模式將某個(gè)對(duì)象的接生成器和協(xié)程的實(shí)現(xiàn)在這篇文章中,作者針對(duì)那些比較難以理解的概念,以一個(gè)更為通俗的方式去講明白。。 PHP 源碼注解 PHP 的詳細(xì)源碼注解 PHP 字符串操作整理 一些有關(guān)字符串的常用操作。 Redis 常見(jiàn)七種使用場(chǎng)景 (PHP 實(shí)戰(zhàn)) 這篇文章主要介紹利用 R...
摘要:二選擇排序原理在一列數(shù)字中,選出最小數(shù)與第一個(gè)位置的數(shù)交換。至此確定了前兩個(gè)位置上的數(shù)。示例代碼選擇排序?qū)崿F(xiàn)思路雙重循環(huán)完成,外層控制輪數(shù),當(dāng)前的最小值。 二、選擇排序 原理: 在一列數(shù)字中,選出最小數(shù)與第一個(gè)位置的數(shù)交換。然后在剩下的數(shù)當(dāng)中再找最小的與第二個(gè)位置的數(shù)交換,如此循環(huán)到倒數(shù)第二個(gè)數(shù)和最后一個(gè)數(shù)比較為止。(以下都是升序排列,即從小到大排列) 舉例說(shuō)明: $arr =...
摘要:算法原理下列動(dòng)圖來(lái)自五分鐘學(xué)算法,演示了快速排序算法的原理和步驟。因此,快速排序的遍歷次數(shù)最少是次。為什么最多是次這個(gè)應(yīng)該非常簡(jiǎn)單,還是將快速排序看作一棵二叉樹(shù),它的深度最大是。 算法原理 下列動(dòng)圖來(lái)自@五分鐘學(xué)算法,演示了快速排序算法的原理和步驟。 showImg(https://shockerli.net/media/15540242976690/quick.gif); 步驟: ...
摘要:二分查找的定義二分查找也稱折半查找,它是一種效率較高的查找方法。但是,折半查找要求線性表必須采用順序存儲(chǔ)結(jié)構(gòu),而且表中元素按關(guān)鍵字有序排列。算法的要求從上面的定義我們可以知道,滿足該算法的要求必須如下兩點(diǎn)必須采用順序存儲(chǔ)結(jié)構(gòu)。 showImg(https://segmentfault.com/img/remote/1460000016466416?w=800&h=191); 二分查找的...
閱讀 2680·2023-04-25 20:28
閱讀 1849·2021-11-22 09:34
閱讀 3687·2021-09-26 10:20
閱讀 1834·2021-09-22 16:05
閱讀 3085·2021-09-09 09:32
閱讀 2502·2021-08-31 09:40
閱讀 2101·2019-08-30 13:56
閱讀 3320·2019-08-29 17:01