每日算法题:19.5.25

    xiaoxiao2023-10-02  155

    输入一组数字进行排序,出现的次数越多,字数越大越靠前

    public class Test7 { public static void main(String[] args) { int[] arrays = {1,3,3,6,2,1}; int[] result = function(arrays); for (int i = 0; i < result.length; i++) { System.out.print(result[i]+" "); } } public static int[] function(int[] arrays){ TreeMap<Integer,Integer> map = new TreeMap<Integer,Integer>(); for (int i = 0; i < arrays.length; i++) { if (map.containsKey(arrays[i])) { Integer integer = map.get(arrays[i]); map.put(arrays[i], ++integer); }else{ map.put(arrays[i], 1); } } List<Entry<Integer,Integer>> list = new ArrayList<Entry<Integer,Integer>>(map.entrySet()); Collections.sort(list, new Comparator<Entry<Integer,Integer>>() { @Override public int compare(Entry<Integer, Integer> o1, Entry<Integer, Integer> o2) { if (o1.getValue()>o2.getValue()) { return -1; }else if (o1.getValue()==o2.getValue()) { return -o1.getKey().compareTo(o2.getKey()); }else{ return 1; } } }); int[] result = new int[list.size()]; int i = 0; for (Entry<Integer, Integer> entry : list) { result[i++] = entry.getKey(); } return result; } }

    编写一个程序,从文件src.text读入一篇英文短文,统计输出该短文中不同单词出现的次数,然后输出统计结果

    public class Test8 { public static void main(String[] args) throws IOException { File file = new File("src/src.text"); FileReader inputStream = new FileReader(file); BufferedReader bf = new BufferedReader(inputStream); HashMap<String, Integer> map = new HashMap<String, Integer>(); String result = null; while ((result = bf.readLine())!=null) { String[] split = result.split(" "); for (int i = 0; i < split.length; i++) { if (map.containsKey(split[i])) { Integer integer = map.get(split[i]); map.put(split[i], ++integer); }else{ map.put(split[i], 1); } } } Set<Entry<String,Integer>> entrySet = map.entrySet(); for (Entry<String, Integer> entry : entrySet) { System.out.println(entry.getKey()+":"+entry.getValue()); } } }

     

    最新回复(0)