zoukankan      html  css  js  c++  java
  • careercup-数组和字符串1.1

    1.1 实现一个算法,确定一个字符串的所有字符是否全部不同。假设不允许使用额外的数据结构,又该如何处理?

    C++实现:

    #include<iostream>
    #include<string>
    #include<cstring>
    using namespace std;
    
    /*
    判断是否有重复字符
    */
    bool unqString(string s)
    {
        if(s.empty())
            return true;
        int n=s.length();
        int word[256]={0};
        int i;
        for(i=0;i<n;i++)
            word[s[i]]++;
        for(i=0;i<n;i++)
            if(word[s[i]]>1)
                return false;
        return true;
    }
    int main()
    {
        string str="asdhfdsf";
        cout<<unqString(str)<<endl;
    }

    使用关联容器set:

    #include<set>
    #include<string>
    using namespace std;
    
    bool unqString(string s)
    {
        set<char> st;
        if(s.empty())
            return false;
        size_t i;
        for(i=0;i<s.length();i++)
            st.insert(s[i]);
        if(st.size()!=s.length())
            return false;
        else
            return true;
    }
    
    int main()
    {
        string str="asdhf";
        cout<<unqString(str)<<endl;
    }
  • 相关阅读:
    Spring第一次测试错题解析
    正则回顾
    Spring经典---AOP
    动态代理
    MyBatis第一次测试卷---错题分析
    JS中对数组元素进行增删改移
    限制条件补全代码系列题
    字符串去空格
    数组去重
    数组排序
  • 原文地址:https://www.cnblogs.com/wuchanming/p/4139449.html
Copyright © 2011-2022 走看看