精华内容
下载资源
问答
  • 判断字符串是否包含重复字符 java

    千次阅读 2018-10-15 21:03:31
    public class IsStringRepeat { ... * 判断字符串是否重复,假设字符串只有ASCII码,字符最多256个 * @param str */ private static boolean isStringRepeatAsc(String str){ if (str.length() > 256){ ...
    public class IsStringRepeat {
    
        /**
         * 判断字符串是否重复,假设字符串只有ASCII码,字符最多256个
         * @param str
         */
        private static boolean isStringRepeatAsc(String str){
            if (str.length() > 256){
                return false;
            }
    
            int[] strCount = new int[256];
            for (int i = 0; i< str.length(); i++) {
                int asc_index = (int)str.charAt(i);
                if (strCount[asc_index] != 0){
                    return false;
                }
                strCount[asc_index] += 1;
            }
            return true;
        }
    
        /**
         * 假设字符串时unicode码,字符串很多,无法通过长度判断
         * @param str
         */
        private static boolean isStringRepeatUnicode(String str){
            if (null == str || "" == str){
                return false;
            }
    
            for (int i=0; i<str.length()-1;i++){
                for (int j=i+1;j<str.length();j++){
                    if (str.charAt(i) == str.charAt(j)){
                        return false;
                    }
                }
            }
    
            return true;
        }
    
        /**
         * 
         * @param str
         * @return
         */
        private static boolean isStringRepeatUnicode2(String str){
            if (null == str || "" == str){
                return false;
            }
            char[] strArray = str.toCharArray();
            Arrays.sort(strArray);
    
            for (int i=0;i<strArray.length-1;i++){
                if (strArray[i] == strArray[i+1]){
                    return false;
                }
            }
    
            return true;
        }
    
        public static void main(String[] args) {
            boolean result1 = isStringRepeatAsc("123456789 ert");
            boolean result2 = isStringRepeatUnicode2("123 ewqq");
        }
    }
    
    展开全文
  • 判断一个字符串是否重复字符 例如:good就包含重复字符 而abc就不包含重复字符串 """ def isDup(strs): lens = len(strs) i = 0 while i < lens: j = i + 1 while j < lens: if list(strs)[j] == list...

    如何判断字符串是否包含重复字符

    一种以时间换空间的方法

    """
    判断一个字符串是否重复字符 例如:good就包含重复字符 而abc就不包含重复字符串
    """
    def isDup(strs):
        lens = len(strs)
        i = 0
        while i < lens:
            j = i + 1
            while j < lens:
                if list(strs)[j] == list(strs)[i]:
                    return True
                j += 1
            i += 1
        return False
    
    
    if __name__ == '__main__':
        strs = 'abcdefghijk'
        res = isDup(strs)
        print(res)
    

    这是比较简单的题目,上面的实现方法时间复杂度是O(n**2),如何才能降低时间复杂度呢?思考一下。
    在这里插入图片描述

    展开全文
  • 判断一个字符串是否有重复字符

    千次阅读 2019-11-01 11:39:50
    判断一个字符串是否含有重复字符 for (int i = 0; i < s.length(); i++) { int val = s[i] - 'a'; //把a-z的字符, 转换成 0-25的数字 if ((checker & (1<<val)) > 0) // (1<<val)即得到...

    简单题目
    判断一个字符串中是否含有重复字符

    #include <iostream>
    #include <string>
     
    using namespace std;
     
    int main()
    {
        string s;
        cin >> s;
        int checker = 0;
     
        for (int i = 0; i < s.length(); i++)
        {
            int val = s[i] - 'a'; //把a-z的字符, 转换成 0-25的数字
            if ((checker & (1<<val)) > 0)  // (1<<val)即得到对于bit位上的mask.  然后与 checker的位相与, 看是否为1
            {
                cout << "N" << endl;  //为1, 说明已经出现过
                return 0;
            }
            checker |= (1<<val);  //否则把这一位 置1
        }
     
        cout << "Y" << endl;
    }
    

    注:mask用得非常的秀。

    展开全文
  • 判断字符串是否没有重复字符

    千次阅读 2018-01-04 21:28:33
    判断字符串是否有重复字符,类似于,删除数组中重复的数字 1、将字符串转成字符数组 2、使用Arrays.sort(char[])对字符数组进行排序,然后,逐个遍历整个排序后的数组,如果不是最后一个字符,并且如果当前字符和...

    需求:

    实现一个算法确定字符串中的字符是否均唯一出现。

    给出"abc",返回 true

    给出"aab",返回 false

    分析:

    思路一:

    判断字符串是否有重复字符,类似于,删除数组中重复的数字
    1、将字符串转成字符数组
    2、使用Arrays.sort(char[])对字符数组进行排序,然后,逐个遍历整个排序后的数组,如果不是最后一个字符,并且如果当前字符和其后面的字符相同,那么就直接返回false,否则继续遍历,如果所有的元素和其后面都不相同或者已经遍历到最后一个字符了,就认为是没有重复字符,即返回true
    3、另外,对于null或者长度是0的字符串,没有重复字符,返回true

    思路二:

    创建哈希表,遍历字符串,如果哈希表中不包含该字符,就添加进去,如果包含,就返回false,如果没有重复的字符,那么最后返回true。

    思路三:

    上述两种思路的均需要额外开辟空间,如果想不开辟空间,那么可以借助String.indexOf(char ch, int fromIndex),遍历字符串中的字符,遍历到倒数第二个字符即可。对每个字符,判断其后是否有重复的字符即可,如果有就返回false,如果没有重复的字符,那么返回true。

    代码:

    public class Solution {
        /*
         * @param str: A string
         * @return: a boolean
         */
        public boolean isUnique(String str) {
            // write your code here
            /*
            //思路一
            //如果str是null,那么抛出异常
            if(str == null){
                throw new IllegalArgumentException("invalid parameters");
            }
            
            //如果str的长度是0或者1,那么没有重复字符,返回true
            if(str.length() == 0 || str.length() == 1){
                return true;
            }
            
            //将字符串转成字符数组
            char[] ch = str.toCharArray();
            
            //对数组进行排序
            Arrays.sort(ch);
            
            //遍历数组,看当前字符是否和后面字符相同,相同就返回false,否则返回true
            for(int i = 0; i < ch.length-1; i++){
                if(ch[i] == ch[i+1]){
                    return false;
                }
            }
            
            return true;
            */
            
            /*
            //思路二
            //如果str是null,那么抛出异常
            if(str == null){
                throw new IllegalArgumentException("invalid parameters");
            }
            //如果str的长度是0或者1,那么没有重复字符,返回true
            if(str.length() == 0 || str.length() == 1){
                return true;
            }
            
            //创建hash表,将字符串字符存到hash表中
            HashSet<Character> hs = new HashSet<Character>();
            
            for(int i = 0; i < str.length(); i++){
                if(hs.contains(str.charAt(i))){
                    return false;//hash表中有相同的字符,那么说明有重复的字符
                }
                
                hs.add(str.charAt(i));
            }
            
            return true;
            */
            
            //思路三
            //如果str是null,那么抛出异常
            if(str == null){
                throw new IllegalArgumentException("invalid parameters");
            }
            //如果str的长度是0或者1,那么没有重复字符,返回true
            if(str.length() == 0 || str.length() == 1){
                return true;
            }
            
            //从前向后遍历字符串,对每个字符,调用String.indexOf()看其后面是否有相同的字符,如果有返回false,否则最后返回true
            for(int i = 0; i < str.length()-1; i++){
                if(str.indexOf(str.charAt(i), i+1) != -1){
                    return false;
                }
            }
            
            return true;
    
        }
    }



    展开全文
  • 判断Set集合的元素个数是否等于字符串的长度,若相等,则字符串中没有重复的字符。否则,字符串中存在重复的字符。 Code: public static boolean isunique(String s) { Set&lt;Character&gt; set = new...
  • java 判断字符串是否有重复字符

    千次阅读 2017-03-06 10:38:26
     * 判断字符串是否包含重复字符  * @param str  * @return  */  public static boolean containRepeatChar(String str){  if(str==null||str.isEmpty()){  return
  • 判断字符串是否有重复字符

    千次阅读 2013-11-20 21:09:18
    实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构。 (即只使用基本的数据结构) 学习自 http://hawstein.com/posts/1.1.html #include #include bool isunique1(char s[]) { ...
  • 实现一个算法确定字符串中的字符是否均唯一出现 您在真实的面试中是否遇到过这个题?  Yes 样例 给出"abc",返回 true 给出"aab",返回 false public class Solution { /** * @...
  • 判断三个字符串中是否有相等,去掉重复字符串输出 public class sanyuanyunsuan { public static void main(String[] args) { String a="b"; String b="a"; String c="c"; String js=""; js=a.equals...
  • 目录ECMAScript6 字符串扩展一、字符串判断是否包含ES5ES6includes()startsWith()endsWith()二、重复字符串repeat()三、模板字符串1、什么是模板字符串2、原始字符串3、页面模板分析图 一、字符串判断是否包含 ES5 /...
  • 判断字符串有重复字符

    千次阅读 2016-07-30 17:11:32
    题目判断英文字符串有重复字符代码#define BOOL int #define TRUE 1 #define FALSE 0int arr[256] = {0};BOOL check1(char *str) { size_t len = strlen(str); if (len > 256) return TRUE; size_t i; fo
  • 如何判断字符串是否包含重复字符

    万次阅读 2014-08-24 10:02:23
    如何判断字符串是否包含重复字符问题:实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构.(即只使用基本的数据结构)解答:若字符为ASCII字符集合.则一个时间复杂度为O(n)的解法如下:...
  • 判断字符串是否没有重复字符 实现一个算法确定字符串中的字符是否均唯一出现 您在真实的面试中是否遇到过这个题?  Yes 样例 给出"abc",返回 true 给出"aab",返回 false 挑战  如果不使用额外...
  • 判断字符串是否没有重复字符 目录157. 判断字符串是否没有重复字符鸣谢 157. 判断字符串是否没有重复字符 实现一个算法确定字符串中的字符是否均唯一出现 样例 1: 输入: “abc_____” 输出: false 样例 2: ...
  • 题目:判断一个给定的字符串是否存在重复字符   解答: 为了简单起见,假定需要进行判断字符串的所有字符都在ASCII基础字符表范围内,判断算法如下:   private boolean hasDuplicateCharacter(String ...
  • //判断字符串是否有重复 function IsRepeat(lessonName){ var repeatName=""; var hash = {}; var arrStr=lessonName.split(','); for(var i=0;i<arrStr.length;i++){ if(!hash[arrStr[i]]) ...
  • Java 判断字符串有无重复字符

    千次阅读 2020-01-30 10:19:26
    问题描述:给定一个字符串判断字符串有无重复字符,如果不使用额外的数据结构又应该如何处理(不使用辅助数组等)? 解一:如果字符串是ASCII码的字符串可以使用一个辅助数组进行统计,因为ASCII码只有128个字符,...
  • JS判断一个字符串是否含有重复字符

    千次阅读 2011-08-15 23:24:21
    JS判断一个字符串是否含有重复字符,并且将结果排序: [code="java"]function fun(){ var str = "DCF"; var arrays = new Array(); var flag = true; for(var i=0;i -1){ ...
  • **题目要求:请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。...
  • 判断一个字符串是否有重复的字符

    千次阅读 2018-12-12 23:40:04
    请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 &lt;?php $str = 'D-5H0F6T%Z?QM9,\72:[A8X! ;YJ#2'; $ret = preg_match('/.*(.)(.*\1).*/',$str); print_r...
  • 方法一: SELECT * FROM users WHERE emails like "%b@email.com%";方法二: 利用MySQL 字符串函数 find_in_set(); ...这样是可以的,怎么理解呢?...mysql很多字符串函数 find_in_set(s...
  • 题目描述对于一个非空字符串判断是否可由一个子字符串重复多次组成。字符串只包含小写字母且长度不超过10000。样例1 输入: “abab” 输出: True 样例解释: 输入可由”ab”重复两次组成 样例 2 输入...
  • 157. 判断字符串是否没有重复字符

    千次阅读 2018-06-09 20:16:07
    题目需求实现一个算法确定字符串中的字符是否均唯一出现样例给出"abc",返回 true给出"aab",返回 false挑战如果不使用额外的存储空间,你的算法该如何改变?解题思路 先排序,后查重。实现...
  • 1.1 Implement an algorithm to determine if a string has all unique characters What if  you can not use additional data structures?...//判断字符串是否有重复字符,字符范围‘a-z’。 #include #incl
  • 实现一个算法确定字符串中的字符是否均唯一出现样例 给出”abc”,返回 true 给出”aab”,返回 false挑战 如果不使用额外的存储空间,你的算法该如何改变?Implement an algorithm to determine if a string has...
  • 实现一个算法确定字符串中的字符是否均唯一出现 您在真实的面试中是否遇到过这个题?  Yes 样例 给出"abc",返回 true 给出"aab",返回 false 挑战 如果不使用额外的存储空间,你...
  • 让我判断测试用例的字符串是否存在重复的字母,不论连续或是不连续,如果存在则返回false,不存在则返回true。是个经典问题。 首先冒出的想法就是循环遍历呗,用两重for循环,一层i=0,第二层i=i+1,然后用string....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 382,723
精华内容 153,089
关键字:

判断是否有重复字符串