• 确定字符互异 牛客网 程序员面试金典 C++ Python


    确定字符互异 牛客网 程序员面试金典 C++ Python

    • 题目描述

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

    • 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。

    • 测试样例:

    • "aeiou"

    • 返回:True

    • "BarackObama"

    • 返回:False

    C++

    
    class Different {
    public:
        //run:4ms memory:480k
        bool checkDifferent(string iniString){
            int len = iniString.length();
            if(len > 256) return false;
            for (int i = 0; i< len; i++)
                for(int j = i+1; j < len; j++)
                    if(iniString[i] == iniString[j]) return false;
            return true;
        }
    };

    Python

    class Different:
        #run:28ms memory:5732k
        def checkDifferent(self, iniString):
            return len(iniString)==len(set(iniString))
        
        def checkDifferent2(self, iniString):
            size = len(iniString)
            if size > 257: return False
            for i in range(0,size):
                for j in range(i+1,size):
                    if iniString[i] == iniString[j]:
                        return False
            return True
  • 相关阅读:
    linux所有命令失效的解决办法
    第一章 网络基础知识
    RNQOJ 数列
    RNQOJ Jam的计数法
    RNQOJ 开心的金明
    RQNOJ 明明的随机数
    分类讨论的技巧
    Unity 碰撞检测
    Unity --yield return
    Unity 移动方式总结
  • 原文地址:https://www.cnblogs.com/vercont/p/10210309.html
Copyright © 2020-2023  润新知