プログラマーインタビューゴールデンクラシック-インタビュー質問01.01。キャラクターがユニークかどうかを判断する

1.トピックの紹介

文字列のすべての文字がすべて異なるかどうかを判断するアルゴリズムを実装します。

例1:

入力:s = "leetcode"
出力:false 
例2:

入力:s = "abc"
出力:true
制限:

0 <= len(s)<= 100
追加のデータ構造を使用しない場合、それはボーナスになります。

出典:LeetCode
リンク:https ://leetcode-cn.com/problems/is-unique-lcci
著作権はLeetCodeが所有しています商用の再版については、公式の承認に連絡してください。非商用の再版については、出典を示してください。

2つの問題解決のアイデア

       この質問は、セットのデータ構造を使用すると簡単に実装できるため、ここでは紹介しません。制限により、追加のデータ構造は適用されません。入力文字列はすべて小文字で構成されているため、ここでは、各文字が表示されたかどうかを記録するために、長さ26の文字配列が作成されます。特定の実装については、コードを参照してください。

3つの問題解決コード

class Solution {
public:
    bool isUnique(string astr) {
        char s[26] = {0};
        for(int i = 0; i < astr.size(); ++i)
        {
            if(s[astr[i] - 'a'] == 1)
                return false;
            s[astr[i] - 'a'] = 1;
        }
        return true;
    }
};

4つの問題解決の結果

おすすめ

転載: blog.csdn.net/qq_39661206/article/details/105572780