标签:code ref 分享图片 als nta [] htm list AC
66
2 758 . Bold Words in String
public String boldWords(String[] words, String S) { Set<Integer> set = new HashSet<>(); for (int i = 0; i < S.length(); i++) { for (String str : words) { if (i + str.length() <= S.length() && str.equals(S.substring(i, i + str.length()))) { for (int j = i; j < i + str.length(); j++) { set.add(j); } } } } StringBuilder sb = new StringBuilder(); for (int i = 0; i < S.length(); i++) { if (set.contains(i) && (i == 0 || !set.contains(i - 1))) sb.append("<b>"); sb.append(S.charAt(i)); if (set.contains(i) && (i == S.length() - 1 || !set.contains(i + ))) sb.append("</b>"); } return sb.toString(); }
3 759 Employee Free Time
public List<Interval> employeeFreeTime(List<List<Interval>> avails) { List<Interval> list = new ArrayList<>(); for (List<Interval> list1 : avails) { for (Interval interval : list1) { list.add(interval); } } Collections.sort(list, (a,b)->a.start - b.start); List<Interval> res = new ArrayList<>(); Interval cur = list.get(0); for (Interval val : list) { if (cur.end < val.start) { res.add(new Interval(cur.end, val.start)); cur = val; } else { cur = cur.end < val.end ? val : cur; } } return res; } } class Interval { int start, end; public Interval(int start, int end) { this.start = start; this.end = end; }
4 Special Binary String
public String makeLargestSpecial(String S) { int i = 0; List<String> list = new ArrayList<>(); for (int j = 0, c = 0; j < S.length(); j++) { if (S.charAt(j) == ‘1‘) { c++; } else { c--; } if (c == 0) { list.add("1" + makeLargestSpecial(S.substring(i + 1, j)) + "0"); i = j + 1; } } Collections.sort(list, Collections.reverseOrder()); return String.join("", list); }
标签:code ref 分享图片 als nta [] htm list AC
原文地址:https://www.cnblogs.com/whesuanfa/p/9017487.html