美文网首页
1.1 确定字符互异

1.1 确定字符互异

作者: DrunkPian0 | 来源:发表于2017-08-13 17:58 被阅读16次

请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。
给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。

APPROACH1 SET

CC150没有必须要求不许用额外存储。
如果用存储,可以问一下,字符集是ASCII还是UNICODE。ASCII的长度只有256,新建一个长度256的boolean数组就行了。大于256可以直接返回false。时间O(n)。

APPROACH2 BRUTE FORCE

O(n2) 。

    public boolean checkDifferent(String iniString) {
        // write code here
        for(int i = 0 ; i < iniString.length()-1 ; i ++)
            for(int j = i + 1 ; j < iniString.length() ; j ++){
                if(iniString.charAt(i) == iniString.charAt(j)){
                    return false;
                }
            }
        return true;
    }

APPROACH3 SORT

排序,但是也要额外存储。

--

相关文章

  • 1.1 确定字符互异

    请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。给定一个string ...

  • Redis Sets(官网翻译)

    Sets是没有排序的字符串集合( 和数学定义一致,确定,无序,互异 ),SADD命令添加一个新的元素到一个集合,它...

  • 数学基础知识

    集合 由一个或多个确定的元素所构成的整体 特性确定性互异性无序性 Java 中的 Set 用于描述集合 => Ha...

  • 1.1 字符组

    顾名思义,字符组(character class)就是一组字符,在正则表达式中,它表示“在同一个位置可能出现的各种...

  • c++STL容器,迭代器模式,红黑树

    在讲容器之前先讲一下集合和Java的集合类 集合:一个或多个确定元素构成的整体(确定性、互异性、无序性) Java...

  • 数据结构之集合与映射(一)

    本篇主要内容:集合及其应用 集合Set 数学上定义集合有最基本的三个性质:确定性、互异性和无序性。所谓确定性就是一...

  • Day03-字符串

    1.1 认识字符串 1.1什么是字符串 1.2 阻止转义 1.3 python中字符串中的字符是Unicode编码...

  • 集合

    集合 集合(set)的特点 无序性(用{}都没有索引) 互异性 确定性——集合中的元素不能有可变对象,如列表、字典...

  • 集合

    集合 描述:满足某种属性的对象的全体。集合的研究对象叫元素集合特性:确定性、无序性、互异性集合表示A、B、C(大写...

  • python数据类型——集合

    数据类型——集合 集合的三个特性 确定性(元素必须可hash) 互异性 (去重) 无序性(集合中的元素是无序的),...

网友评论

      本文标题:1.1 确定字符互异

      本文链接:https://www.haomeiwen.com/subject/pweerxtx.html