牛客網——C++ n個數裏出現次數大於等於n/2的數 【完整分析加代碼】

如果覺得可以的話,記得關注一下哦,有什麼問題的話,記得下方留言

一,題目描述:

輸入n個整數,輸出出現次數大於等於數組長度一半的數。

輸入描述:

每個測試輸入包含 n個空格分割的n個整數,n不超過100,其中有一個整數出現次數大於等於n/2。

輸出描述:

輸出出現次數大於等於n/2的數。

示例1

輸入

3 9 3 2 5 6 7 3 2 3 3 3

輸出

3

二,程序分析

  1. 創建變量,和一個變量數組vector。
  2. 將輸入變量的數值插入到數組中,並且進行排序。
  3. 根據題意,多的數肯定比這個數組的一半長,那麼輸出這個位置下標的值,打印出來就得到結果了

三,分析結果的代碼

#include<iostream>
//#include<string>
#include<vector>
#include <algorithm>

using namespace std;


int main()
{
	//創建變量,和一個變量數組vector
	int n;
	vector<int> vi;
	while (cin >> n)
		//將輸入變量的數值插入到數組中
		vi.push_back(n);
	//將這個數組進行排序
	sort(vi.begin(), vi.end());
	//多的數肯定比這個數組的一半長,那麼輸出這個下標的值,打印就好了
	cout << vi[vi.size() / 2 - 1] << endl;
	return 0;
}

四,運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章