算法收錄(持續(xù)更新)

這里會(huì)持續(xù)的發(fā)布我遇到過(guò)的算法題,歡迎在評(píng)論中一起探討這些算法的實(shí)現(xiàn)。

  • 當(dāng)前已經(jīng)編程實(shí)現(xiàn)函數(shù)int rand100()硼端,該函數(shù)可以返回0~99的隨機(jī)整數(shù),且可以保證等概率寓搬。利用該函數(shù)實(shí)現(xiàn)int rand10000()珍昨,要求等概率返回0~9999的隨機(jī)整數(shù)

    int rand10000 {
        return 100 * rand100() + rand100();
    }
    

  • 湯姆現(xiàn)在要在家里舉辦宴會(huì),他有很多根長(zhǎng)度并不完全相同的筷子。現(xiàn)已知每根筷子的長(zhǎng)度镣典,每個(gè)客人都能拿到兩根相同長(zhǎng)度的筷子兔毙,求宴會(huì)最多可以招待多少名賓客的函數(shù)實(shí)現(xiàn)int getMax(int arrLength[N])
  int getMax(int arrLength[N]) {
      assert(arrLength != NULL && N > 0)
      int count = 0;
      int maxLength = arrLength[0];

      for (int i = 1; i < N; i++) {
          if (maxLength < arrLength[i]) { maxLength = arrLength[i]; }
      }

      char * counter = (char *)malloc(sizeof(char) * (mexLength + 1));
      memset(counter, 0, mexLength+1)
      for (int i = 0; i < N; i++) {
          int idx = arrLength[i];
          if (counter[idx] == 0) {
              counter[idx] = 1;
          } else {
              count++;
              counter[idx] = 0;
          }
      }
      free(counter);
      return count;
  }

  • 現(xiàn)有一個(gè)整數(shù)序列,你可以交換其中任意兩個(gè)數(shù)以得到一個(gè)新序列兄春,求共能得到多少種不同的序列(如果是3澎剥,3,3赶舆,3哑姚,那么無(wú)論怎么調(diào)換,都只存在一種序列)

  • 現(xiàn)有一個(gè)M行N列的數(shù)組芜茵,要求按照反向斜對(duì)角線(右上角->左下角)的方式進(jìn)行打印叙量,編程實(shí)現(xiàn)int printMatrix[int arrMatrix[M][N]]
    下面案例的輸出順序?yàn)椋?-1-4-2-5-8-3-6-9-7-10-11
0 1 2 3
4 5 6 7
8 9 10 11

  • 假設(shè)北京和上海間有一趟專列,兩個(gè)車站每小時(shí)整點(diǎn)都會(huì)朝著對(duì)方發(fā)一輛車九串。已知北京->上海的列車全程需要13.5小時(shí)绞佩;上海->北京的列車全程需要15.5小時(shí)。如果某人坐在其中一輛北京->上海的列車猪钮,請(qǐng)問(wèn)途中會(huì)碰到多少輛迎面而來(lái)的列車

  • 存在有序整數(shù)數(shù)組Array品山,現(xiàn)已知整數(shù)T,實(shí)現(xiàn)算法existSum(array, T)求數(shù)組中是否存在兩個(gè)元素a + b = T躬贡,如果存在谆奥,輸出a和b在數(shù)組中的位置

    existSum(array: [Int], T: Int) -> (Int, Int)? {
        assert(array != nil)
        let mapper = [Int, Int]()
        let index = 0
        for index in 0..<array.count {
            if let idx = mapper[T - array[index]] {
                return (idx, index)
            }
            mapper[array[index]] = index
        }
        return nil
    }
    

  • 假設(shè)雞蛋從X層樓高度摔下來(lái)剛好會(huì)碎(X-1層不會(huì)碎),那么我們稱雞蛋的臨界點(diǎn)是X-1》鞑#現(xiàn)在有一棟100層高的樓房酸些,你有兩個(gè)雞蛋。請(qǐng)問(wèn)你如何進(jìn)行最少的試驗(yàn)得出這個(gè)雞蛋的臨界點(diǎn)檐蚜?

    首先假設(shè)存在一個(gè)最大實(shí)驗(yàn)次數(shù)T魄懂,無(wú)論我們進(jìn)行怎樣的操作都不會(huì)大于這個(gè)T。最苦逼的情況下這個(gè)T等于99闯第,即我們從第二層開始一直試到第一百層市栗,這樣毫無(wú)疑問(wèn)沒(méi)有任何的技巧性。 那么我們將這99次的實(shí)驗(yàn)次數(shù)分成多份來(lái)進(jìn)行測(cè)試咳短,保證在分了之后仍然保證測(cè)試次數(shù)是最少的填帽。那么我們假設(shè)第一次雞蛋扔在第T層,如果碎了咙好,就從第一層開始一層層往上實(shí)驗(yàn)篡腌。假設(shè)第T層雞蛋沒(méi)有碎,下一次就從T+T-1層開始測(cè)試勾效,如果雞蛋碎了從T+1開始往上測(cè)試嘹悼。于是我們得到了計(jì)算公式: T + T-1 + T-2 + T-3 + T-4 + .... + 2 + 1 >= 99 最終得出的T等于14

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叛甫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子杨伙,更是在濱河造成了極大的恐慌其监,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件限匣,死亡現(xiàn)場(chǎng)離奇詭異抖苦,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)膛腐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門睛约,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人哲身,你說(shuō)我怎么就攤上這事∶撤ィ” “怎么了勘天?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)捉邢。 經(jīng)常有香客問(wèn)我脯丝,道長(zhǎng),這世上最難降的妖魔是什么伏伐? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任宠进,我火速辦了婚禮,結(jié)果婚禮上藐翎,老公的妹妹穿的比我還像新娘材蹬。我一直安慰自己,他們只是感情好吝镣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布堤器。 她就那樣靜靜地躺著,像睡著了一般末贾。 火紅的嫁衣襯著肌膚如雪闸溃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天拱撵,我揣著相機(jī)與錄音辉川,去河邊找鬼。 笑死拴测,一個(gè)胖子當(dāng)著我的面吹牛乓旗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播昼扛,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼寸齐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼欲诺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起渺鹦,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扰法,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后毅厚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塞颁,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年吸耿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了祠锣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡咽安,死狀恐怖伴网,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情妆棒,我是刑警寧澤澡腾,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站糕珊,受9級(jí)特大地震影響动分,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜红选,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一澜公、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧喇肋,春花似錦坟乾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至慧脱,卻和暖如春渺绒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背菱鸥。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工宗兼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氮采。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓殷绍,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親鹊漠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子主到,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容