LintCode 32. 最小子串覆盖

原创 2018年04月15日 13:15:49

给定一个字符串source和一个目标字符串target,在字符串source找到包括所有目标字符串字母的子串。

public class Solution {
    /**
     * @param source : A string
     * @param target: A string
     * @return: A string denote the minimum window, return "" if there is no such a string
     */
    public String minWindow(String source , String target) {
        // write your code here
        int[] map = new int[128];
        for (int i = 0; i < map.length; i++) {
            map[i] = 0;
        }
        for (int i = 0; i < target.length(); i++) {
            map[target.charAt(i)]++;
        }
        int counter = target.length(), begin = 0, end = 0, d = Integer.MAX_VALUE, head = 0;
        while (end < source.length()) {
            if (map[source.charAt(end++)]-- > 0) {
                counter--;
            }
            while (counter == 0) {
                if (end - begin < d) {
                    d = end - begin;
                    head = begin;
                }
                if (map[source.charAt(begin++)]++ == 0) {
                    counter++;
                }
            }
        }
        return d == Integer.MAX_VALUE ? "" : source.substring(head, head + d);
    }
}

lintcode(32)最小子串覆盖

描述: 给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 样例: 给出source = "ADOBECODEBANC",tar...
  • sunday0904
  • sunday0904
  • 2017-04-22 10:06:43
  • 286

lintcode--32. 最小子串覆盖

描述 给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 注意事项 如果在source中没有这样的子串,返回”“,如果有多个这样的子...
  • second24
  • second24
  • 2018-02-27 21:22:25
  • 39

Lintcode 最小子串覆盖

给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 说明 在答案的子串中的字母在目标字符串中是否需要具有相同的顺序? ——不需要。 ...
  • Hk_john
  • Hk_john
  • 2017-03-16 21:21:56
  • 790

lintcode-最小子串覆盖-32

给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 样例 给出source = "ADOBECODEBANC",target ...
  • ljlstart
  • ljlstart
  • 2015-09-10 19:45:56
  • 752

LintCode:M-最小子串覆盖

给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。  注意事项 如果在source中没有这样的子串,返回"",如果有多个这...
  • iyangdi
  • iyangdi
  • 2017-08-28 20:41:31
  • 293

Java实现-最小子串覆盖

给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。  注意事项 如果在source中没有这样的子串,返回"",如果有多个这...
  • qq_14927217
  • qq_14927217
  • 2017-07-05 10:56:57
  • 849

Minimum Window Substring 最小覆盖子串算法

题目  最小子串覆盖  描述 笔记  数据  评测 给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 您在真...
  • fly_yr
  • fly_yr
  • 2016-04-12 16:13:57
  • 3680

LintCode 32 最小子串覆盖

题目:minWindow要求:给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 注意事项1. 如果在source中没有这样的子串,返回...
  • linglian0522
  • linglian0522
  • 2017-04-17 09:47:01
  • 506

【Java】LRS最小重复子串

public class LRS { public static void main(String[] args) { String X = "ABABABA"; ...
  • CZengze
  • CZengze
  • 2016-05-30 20:57:32
  • 528
收藏助手
不良信息举报
您举报文章:LintCode 32. 最小子串覆盖
举报原因:
原因补充:

(最多只允许输入30个字)