码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode .

时间:2018-05-10 01:05:02      阅读:168      评论:0      收藏:0      [点我收藏+]

标签: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();
    }
View Code

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;
    }
View Code

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);
    }
View Code

 

leetcode .

标签:code   ref   分享图片   als   nta   []   htm   list   AC   

原文地址:https://www.cnblogs.com/whesuanfa/p/9017487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!