LeetCode: 192. Word Frequency

LeetCode: 192. Word Frequency

题目描述

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

For simplicity sake, you may assume:

words.txt contains only lowercase characters and space ' ' characters.
Each word must consist of lowercase characters only.
Words are separated by one or more whitespace characters.

Example:

Assume that words.txt has the following content:

the day is sunny the the
the sunny is is

Your script should output the following, sorted by descending frequency:

the 4
is 3
sunny 2
day 1

Note:

Don't worry about handling ties, it is guaranteed that each word's frequency count is unique.
Could you write it in one-line using Unix pipes?

解题思路

见代码。

AC 代码

# FYI:
# NF(awk): 字段数量
# -c, --count(uniq): 在每列旁边显示该行重复出现的次数
# -n, --numeric-sort(sort): compare according to string numerical value
# -r, --reverse(sort): reverse the result of comparisons

# 1. 获取单词列表
# 2. 对单词列表进行排序
# 3. 统计相同合并的单词
# 4. 根据单词列表出现次数排序
# 5. 调整输出顺序
awk '{for(i=1; i<= NF; ++i) print $i}' words.txt | sort | uniq -c | sort -nr | awk '{print$2, $1}'
全部评论

相关推荐

2024-12-25 09:09
四川师范大学 运营
想和你交朋友的潜伏者要冲国企:先去沃尔玛亲身感受标准化流程体系,一两年后再跳槽国内任何零售行业,可以有更大选择权吧?
点赞 评论 收藏
分享
冰皮月饼_FLORRIEEE:你是准备投产品嘛?可以重新整理一下实习的bulletpoint,侧重描述你的工作所带来的结果收益,不要只写泛泛的内容(比如改写通过xx数据分析,提升xx),产品的价值并不在处理和分析数据的过程
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务