<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實戰(zhàn)192:統(tǒng)計詞頻

          共 1359字,需瀏覽 3分鐘

           ·

          2021-02-23 13:52

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個公眾號后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做?統(tǒng)計詞頻,我們先來看題面:
          https://leetcode-cn.com/problems/word-frequency/

          Write a bash script to calculate the frequency of each word in a text file words.txt.

          題意


          寫一個 bash 腳本以統(tǒng)計一個文本文件 words.txt 中每個單詞出現(xiàn)的頻率。

          為了簡單起見,你可以假設(shè):

          • words.txt只包括小寫字母和 ' ' 。

          • 每個單詞只由小寫字母組成。

          • 單詞間由一個或多個空格字符分隔。


          示例


          假設(shè) words.txt 內(nèi)容如下:

          the day is?sunny the the
          the sunny is?is

          你的腳本應(yīng)當輸出(以詞頻降序排列):

          the 4
          is?3
          sunny 2
          day 1

          說明:

          不要擔心詞頻相同的單詞的排序問題,每個單詞出現(xiàn)的頻率都是唯一的。
          你可以使用一行 Unix pipes 實現(xiàn)嗎?


          解題

          思路:cat+tr+sort+uniq+sort+awk

          cat命令:用于連接文件并打印到標準輸出設(shè)備上。
          tr命令:用于轉(zhuǎn)換或刪除文件中的字符,其中的-s選項表示--squeeze-repeats,即縮減連續(xù)重復(fù)的字符成指定的單個字符。
          sort命令:用于將文本文件內(nèi)容加以排序,其中-r參數(shù)表示以相反的順序來排序,本題中即降序。
          uniq命令:用于刪除文件中的重復(fù)行,其中-c選項表示在輸出行前面加上每行在輸入文件中出現(xiàn)的次數(shù)。
          awk命令:AWK是一種處理文本文件的語言,是一個強大的文本分析工具。下述腳本中awk命令的用法表示每行按空格或TAB分割,輸出文本中的第2、1項。
          cat?words.txt | tr?-s ' '?'\n'?| sort?| uniq -c?| sort?-r | awk '{ print $2, $1 }'

          好了,今天的文章就到這里,如果覺得有所收獲,請順手點個在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動力 。

          上期推文:

          LeetCode1-180題匯總,希望對你有點幫助!
          LeetCode刷題實戰(zhàn)181:超過經(jīng)理收入的員工
          LeetCode刷題實戰(zhàn)182:查找重復(fù)的電子郵箱
          LeetCode刷題實戰(zhàn)183:從不訂購的客戶
          LeetCode刷題實戰(zhàn)184:部門工資最高的員工
          LeetCode刷題實戰(zhàn)185:部門工資前三高的所有員工
          LeetCode刷題實戰(zhàn)186:翻轉(zhuǎn)字符串里的單詞 II
          LeetCode刷題實戰(zhàn)187:重復(fù)的DNA序列
          LeetCode刷題實戰(zhàn)188:買賣股票的最佳時機 IV
          LeetCode刷題實戰(zhàn)189:旋轉(zhuǎn)數(shù)組
          LeetCode刷題實戰(zhàn)190:顛倒二進制位
          LeetCode刷題實戰(zhàn)191:位1的個數(shù)

          瀏覽 60
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美在线观看视频 | 天天日天天干天天舔天天射 | 国产精品毛片视频 | 欧美中文大屌 | 婷婷好色五月天 |