【LeetCode】建志オファー(21)

目次

トピック: Jianzhi オファー 39. 配列に半分以上出現する数字 - Leetcode

トピックのインターフェース:

問題解決のアイデア:

コード:

終わりました!! !

トピック: 剣はオファー 40 を指します。最小の k 数 - Leetcode

トピックのインターフェース:

問題解決のアイデア:

コード:

終わりました!! !

最後に書く:


トピック: Jianzhi オファー 39. 配列に半分以上出現する数字 - Leetcode

トピックのインターフェース:

class Solution {
public:
    int majorityElement(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        return nums[nums.size() / 2];
    }
};

問題解決のアイデア:

この質問では、私の考えは直接ソートすることです。

次に、中央の添字の値を返します。

この方法は非常に良いですが、少し悪い点もあります

次のコードを記述する場合:

コード:

class Solution {
public:
    int majorityElement(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        return nums[nums.size() / 2];
    }
};

インタビュアー: 家に帰ってニュースを待ちます。

終わりました!! !

 この質問を行う方法はたくさんありますが、私が考えているのは、ハッシュを使用してそれを行うことです。

トピック:剣はオファー 40 を指します。最小の k 数 - Leetcode

トピックのインターフェース:

class Solution {
public:
    vector<int> getLeastNumbers(vector<int>& arr, int k) {

    }
};

問題解決のアイデア:

この質問のアイデアは、ソートすることです。

または、並べ替えアルゴリズムを調べるには、

インタビュー中はソートを直接使用しないでください。

せっかちなのでここで使ってます……。

アイデア:

最初に並べ替え、

次に、最初の k 個の数値を出力します。

このコードのコメントは書きません。

コード:

class Solution {
public:
    vector<int> getLeastNumbers(vector<int>& arr, int k) {
        sort(arr.begin(), arr.end());
        vector<int> v;
        for(int i = 0; i < k; i++)
        {
            v.push_back(arr[i]);
        }
        return v;
    }
};

インタビュアー:今日のインタビューは以上です。

終わりました!! !

 面接中にこれを敢えてしてはいけません。

最後に書く:

以上がこの記事の内容です、お読みいただきありがとうございます。

この記事が気に入ったら、いいねとコメントをお願いします。また、ご意見をお書きください。

私と一緒にプログラミングを学びたい場合は、私に従ってください。私たちは一緒に学び、成長します。

今後もより質の高いコンテンツを出力していきますので、よろしくお願いします。

Guess you like

Origin blog.csdn.net/Locky136/article/details/129368025