每日一题
题目
输入一个英文句子,把句子中的单词(不区分大小写)按出现次数按
从多到少把单词和次数在屏幕上输出来,要求能识别英文句号和逗
号,即是说单词由空格、句号和逗号隔开。
Python解题
words = input("请输入句子:\n").lower()
dic = dict()
for word in words.split(" "):
if word not in dic:
dic[word] = 1
else:
dic[word] += 1
lst = sorted(dic.items(),key=lambda x:x[1],reverse=True)
for i in lst:
print(i[0]+":"+str(i[1]))
JavaScript解题
<textarea id="txt" cols="30" rows="10"></textarea>
<button onclick="btn()">提交</button>
<div id="parse"></div>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
function btn(){
words = $("#txt").val().toLowerCase();
arr = words.split(" ");
var wordlst = []
var wordnum = []
for(var i=0;i<arr.length;i++){
var index = wordlst.indexOf(arr[i])
if(index==-1){
wordlst.push(arr[i])
wordnum.push(1)
}else{
wordnum[index]+=1
}
}
var html = ""
for(var i=0;i<wordlst.length;i++){
html += wordlst[i] + ":" + wordnum[i] + "<br>"
}
$("#parse").html(html)
}
</script>
Java解题
package code01;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;
public class Test06 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入句子");
String words = input.nextLine().toLowerCase();
String[] arr = words.toLowerCase().split("\\s");
HashMap<String,Integer> wordMap = new HashMap<String,Integer>();
for(String str:arr) {
if(wordMap.containsKey(str)) {
int i = wordMap.get(str)+1;
wordMap.put(str, i);
}else {
wordMap.put(str, 1);
}
}
List<String> lst = new ArrayList<String>(wordMap.keySet());
Collections.sort(lst, new Comparator<String>() {
public int compare(String o1, String o2) {
return wordMap.get(o2)-wordMap.get(o1);
}
});
for(String str:lst) {
int i = wordMap.get(str);
System.out.println(str+":"+i);
}
}
}