精华内容
下载资源
问答
  • 请从字符串中找出至少重复一次的子字符串最大长度 输入描述: 字符串,长度不超过1000 输出描述: 重复子串的长度,不存在输出0 示例1 输入 ababcdabcefsgg 输出 3 说明 abc为重复的最大子串,长度为3 ...

    请从字符串中找出至少重复一次的子字符串的最大长度
    输入描述:
    字符串,长度不超过1000
    输出描述:
    重复子串的长度,不存在输出0


    示例1
    输入
    ababcdabcefsgg


    输出
    3


    说明

    abc为重复的最大子串,长度为3

     

    解题思路:将字符串转换为字符数组,遍历数组找到相同的元素,然后继续判断接下来的还有几位字符是否相同。保存相同位数的个数,得到最大值。

    import java.util.Scanner;
    public class  teat0503{
        public static void main(String[]args){
            Scanner sc=new Scanner(System.in);
            String s=sc.nextLine();
            int len=0;
            char[]chars=s.toCharArray();
            for(int i=0;i<s.length();i++){
                for(int j=i+1;j<s.length();j++){
                    if(chars[i]==chars[j]){
                        int temp=1;
                        for(int k=j+1;k<s.length();k++){
                            if(chars[k]!=chars[k+i-j]){//判断第j位之后的字符是否和第i位之后继续相同
                                break;
                            }
                            else{
                                temp++;
                            }
                        }
                        len=Math.max(len,temp);
                    }
                }
            }
            System.out.println(len);
        }
    
    }

     

    展开全文
  • 对比两个字符串中,重复字符串最大连续长度  如:   string m_strA = "lgdglfsdafpganecw";  string m_strB = "gogsspganklnleaf";  最大公共字符串为 pgan 长度为4 private ...
    对比两个字符串中,重复字符串的最大连续长度
      如: 
      string m_strA = "lgdglfsdafpganecw";
      string m_strB = "gogsspganklnleaf";
      最大公共字符串为 pgan 长度为4
     private int GetMaxCommonStringCount(string strA, string strB)
        {
            int strLong = 0;
            if (string.IsNullOrEmpty(strA) || string.IsNullOrEmpty(strB))
                return strLong;
    
            string shortStr = "";
            string longStr = "";
            if (strA.Length > strB.Length)
            {
                shortStr = strB;
                longStr = strA;
            }
            else
            {
                shortStr = strA;
                longStr = strB;
            }
    
            int startIdx = 0;
            int endIndex = 0;
    
            for (int i = 0; i < shortStr.Length; i++)
            {
                //从短的字符串开始,获取每一次的固定对比长度,并且长度逐渐递减
                startIdx = 0;
                endIndex = shortStr.Length - i;
                int fixlength = endIndex;
    
                while (endIndex <= shortStr.Length)
                {
                    //按固定长度,轮询获取较短字符串中的字符串作为对比串,与长字符串对比
                    string comparaStr = shortStr.Substring(startIdx, fixlength);
    
                    if (longStr.Contains(comparaStr))
                    {
                        strLong = comparaStr.Length;
                        Debug.Log(comparaStr);
                        return strLong;
                    }
    
                    //按上面的固定长度轮询
                    startIdx = startIdx + 1;
                    endIndex = endIndex + 1;
                }
            }
    
            return strLong;
        }

     

    展开全文
  • leetcode经典题型就是求最长重复子串,返回值为字符串长度,如果要返回字符串要怎么办呢?一点点往下看就知道了。 原题: 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例: 给定 "abcabcbb&...

    leetcode经典题型就是求最长无重复子串,返回值为字符串长度,如果要返回字符串要怎么办呢?一点点往下看就知道了。


    原题:

    给定一个字符串,找出不含有重复字符的最长子串的长度。
    示例:
    给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。
    给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。
    给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子串,"pwke" 是 子序列  而不是子串。
    (注意:连续才能算子串)


    C++

    class Solution {
    public:
        int lengthOfLongestSubstring(string s) {
            int size = s.size();
            vector<int> dict(256,-1);
            int maxlen = 0;
            int start = -1;
            for (int i=0;i<size;i++) {
                if (dict[s[i]] > start) {
                    start = dict[s[i]];
                }
                dict[s[i]] = i;
                maxlen = max(maxlen, i - start);
            }
            return maxlen;
        }
    };

          技巧开辟了一个长度为256的向量,默认值为-1 。以查表的形式统计出现过的字符,出现过的字符会获得i。i - start为子串长度。


    Python:

    class Solution:
        def lengthOfLongestSubstring(self, s):
            """
            :type s: str
            :rtype: int
            """
            ls = list(s)
            res = 0
            substr = []
            for i in range(len(ls)):
                if ls[i] not in substr:
                    substr.append(ls[i])
                    if res<len(substr):
                        res = len(substr)
                else:
                    inx = substr.index(ls[i])
                    substr = substr[inx+1:]
                    substr.append(ls[i])
            return res

     用python的实现和C++实现不一样,复杂度稍微高一些,不过也能通过leetcode验证。但是,基于python的方法可以稍微改造就求得最长字符串,而不是只返回字符串的长度。改造如下:

    class Solution:
        def lengthOfLongestSubstring(self, s):
            """
            :type s: str
            :rtype: int
            """
            ls = list(s)
            res = 0
            substr = []
            max_str = ""
            for i in range(len(ls)):
                if ls[i] not in substr:
                    substr.append(ls[i])
                    if res<len(substr):
                        res = len(substr)
                        max_str = ''.join(substr)
                else:
                    inx = substr.index(ls[i])
                    substr = substr[inx+1:]
                    substr.append(ls[i])
            return max_str

     

    展开全文
  • java-最大重复字符串长度

    千次阅读 2017-03-18 06:59:00
    给定一字符串,求其中最大重复子串长度。 exp: input:"",output:0 input:"aaa",output:1 input:"abcbabc",output:3 代码 public class Fun { public static int maxLenthNoRepeat(String str){ if(str==...

    描述

    给定一字符串,求其中最大不重复子串长度。
    exp:
    input:"",output:0
    input:"aaa",output:1
    input:"abcbabc",output:3

    代码

    public class Fun {
    	public static int maxLenthNoRepeat(String str){
    		if(str==null || str.isEmpty()){
    			return 0;
    		}
    		Map<Character, Integer> map = new HashMap<Character, Integer>();
    		int maxLength = 0;
    		int current = 0;
    		
    		//循环字符串,取出每个字符
    		for(int index=0; index < str.length(); index++){
    			if(map.containsKey(str.charAt(index))){
    	            		current = map.get(str.charAt(index)) + 1;
    			}
    			else{
    	            		if((index-current+1)>maxLength){  
    	                		maxLength=index-current+1;  
    	            		}
    			}
    			map.put(str.charAt(index), index);
    		}
    		
    		return maxLength;
    	}
    }



    展开全文
  • 求不重复字符串最大长度

    千次阅读 2018-07-02 09:45:30
    求不重复字符串最大长度 例子: Given ==”pwwkew”==, the answer is ==”wke”==, with the length of ==3==. my Solution: 位置 0 1 2 3 4 5 字符串 a b c d b e 设置一个...
  • **给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 如:输入abcabcbb 输出3 因为重复最长字符串是“abc” 第一次看见这个问题时网上查找发现没有竟然没有C语言实现的代码 于是自己写了代码以及思路...
  • 一个重复字符串是由两个相同的字符串首尾拼接而成,例如abcabc便是长度为6的一个重复字符串,而abcba则不存在重复字符串。 给定任意字符串,请找出其中的最长重复子串。 输入描述: 输入一个字符串s,其中s长度小于...
  • 给定一个字符串,找出不含有重复字符的最长子串的长度。 Ex: 给定"abcabcbb",没有重复字符的最长子串是"abc",那么长度就是3。 给定"bbbbb",最长的子串就是"b",长度是1。 给定"pwwkew",最长子串是"wke",...
  • /** * 从字符串S中找出不包含重复字符最大连续子字符串长度, * 如1:"abcdapp"最长合法子串为"bcdap"返回长度为5 * 2:"aaaaaaa"最长合法子串为"a",返回长度为1 * @author Administrator * */public class ...
  • 字符串长度最大乘积

    2019-07-08 21:22:29
    已知一个字符串数组words,要求寻找其中两个没有重复字符字符串,使得这两个字符串长度乘积最大,输出这个最大的乘积。如: words=["abcd","wxyh","defgh"], 其中不包含重复字符的两个字符串是"abcd"和"wxyh",...
  • 一道面试题,当时想到有一种最优...就是求出一个给定字符串的最长不重复子串的最大长度值是多少。 例如:给定的字符串为"abcdafg",其最长的不重复子串的长度为:6,即":bcdafg"。 最优解法代码如下: #include #include
  • public class 字符串数组中长度乘积最大值_不含重复字符 { String[] words = {"abcw","cook","xyzt","acc"}; @Test public void demo() { int maxLength = 0; //定义最大长度 for...
  • 字符串重复子串的最大长度

    千次阅读 2019-04-04 21:21:26
    public class MaxSubString { public static int maxSubString(String str) { int len = str.length();...//记录出现过的字符在str中的位置 for (int i = 0; i < 26; i++) { pos[i] = -1; }...
  • 已知一个字符串,只含有小写字母,求这个字符串的每个字符都不相同的最长子串的长度。 比如: abcd 结果是4 abcab 结果是3 思路: 用一个26个元素的整形数组表示一个字符串中是否含有某个字符。a~b分别映射...
  • 最长无重复字符串/Java/

    千次阅读 2017-06-01 09:10:22
    给定一个字符串,请找出其中无重复字符的最长子字符串
  • 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 : 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 流程: 1 移动窗口方式的解法(set集合方式) ...
  • 无重复字符最大子串 题目 给出一个字符串,请你找出其中不含有重复字符的最长子串的长度。 链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 思路 构造一个辅助字符串 ...
  • Python 随机生成固定长度的不重复字符串 import random import string def generate_random_str(randomlength): ''' string.digits = 0123456789 string.ascii_letters = 26个小写,26个大写 ''' ...
  • def get_list(st): ls=[] for i in range(0,len(st)): for j in range(i+1,len(st)): ls.append(st[i:j]) print(ls) return ls ...print('最大长度是:',maxl) print('最大重复元素是:',dict[maxl])
  • 在字符串中找出重复字符串

    千次阅读 2020-08-25 23:29:15
    一个重复字符串是由两个相同的字符串首尾拼接而成,例如abcabc便是长度为6的一个重复字符串,而abcba则不存在重复字符串。 给定任意字符串,请帮小强找出其中的最长重复子串。 例子01010101 输出4 #include <...
  • 字符串的最长无重复字符子串(C++)

    千次阅读 2015-12-06 22:20:37
     给定一个字符串str,返回str的最长无重复字符子串的长度。  如:"abcd" 返回4 "abcb" 返回3  要求:若字符串长度为N 算法的时间复杂度为O(N)。 思路:  下面给出的算法 时间复杂度为O(N) 空间复杂度...
  • 最长子字符串无重复字符,Java实现 给定字符串s,找到最长子字符串长度而不重复字符。 示例1:输入:s =“ abcabcbb”输出:3说明:答案为“ abc”,长度为3。 示例2:输入:s =“ bbbbb”输出:1说明:答案为...
  • 题目很简单,假如输入“abcdbf”,那么最长不含重复字符的字串就为“cdbf”,长度就是4.这里没有要求输出子串,想要输出稍微加点东西就行了。从网上看了很多个版本,一般用的是动态规划。但是这个算法不需要用到动态...
  • 题目:输入是一个字符串,找出没有重复字符的最长子字符串长度 示例: “abcabcbb”最长子串(abc)长度为3  “bbbbbbb”最长子串(b)长度为1 “abdevbac”最长子串(bdev)长度4
  • curStart变量记录最近一个无重复字符串的起始位置。 解答: public static int lengthOfLongestSubstring(String s) {  Map, Integer> index = new HashMap(); // 存放字符最近一次出现的位置  int ...
  • 给定一个字符串 str,返回 str 最长无重复子串的长度。 举例: str = "abcd" 返回 4 str = "aabcb",最长无重复子串为"abc",返回3。解答: 如果 str 长度为 N,字符编码范围是M,本题...
  •  在这里的方法很简单无非就是一个滑窗,重叠的滑动,将字符串所有的可能都找到,然后统计一下即可,现在我要的是前向匹配最大长度的同时重复模式最多的子字符串,这样的话就需要加一层统计处理了,不过做法也很好...
  • 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为...
  • 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 208,669
精华内容 83,467
关键字:

无重复字符串的最大长度