字串的連結最長路徑查詢
阿新 • • 發佈:2020-08-20
題目描述
給定n個字串,請對n個字串按照字典序排列。輸入描述:
輸入第一行為一個正整數n(1≤n≤1000),下面n行為n個字串(字串長度≤100),字串中只含有大小寫字母。
輸出描述:
資料輸出n行,輸出結果為按照字典序排列的字串。示例1
輸入
9 cap to cat card two too up boat boot
輸出
boat boot cap card cat to too two up
思路:
1、直接Arrays.sort排序
import java.util.*; public class Main { public static voidmain(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()){ int n = sc.nextInt(); String [] arr = new String[n]; for(int i=0;i<n;i++){ String str = sc.next(); arr[i] = str; } Arrays.sort(arr);for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } } } }
2、map.getOrDefault方法:Map集合中有這個key時,就使用這個key值,如果沒有就使用預設值defaultValue
Map中採用Entry內部類來表示一個對映項,對映項包含Key和Value
Map.Entry裡面包含getKey()和getValue()方法
Set<Entry<T,V>> entrySet()
該方法返回值就是這個map中各個鍵值對對映關係的集合。
import java.util.*; public class Main{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Map<String,Integer> map = new TreeMap<String,Integer>(); int n = scanner.nextInt(); for(int i = 0;i < n;i ++) { String s = scanner.next(); map.put(s,map.getOrDefault(s, 0) + 1); } for (Map.Entry<String, Integer> entry : map.entrySet()) { for(int i = 0;i < entry.getValue();i ++) { System.out.println(entry.getKey()); } } scanner.close(); } }