C++程式:從課程年份列表中查詢加入年份
假設我們有一個包含n個元素的陣列A。在一所大學裡,每門課程都有一個特殊的組,其名稱等於該課程學生在大學入學的那一年。每個學生都加入其課程的組,並加入所有年份與該學生大學入學年份相差不大於x年的組。x的值沒有給出,但可以從可用資料中確定。A是學生Amal加入的組的列表。根據這些資訊,我們必須找到Amal大學入學的年份。
問題類別
這個問題屬於排序問題。當我們在計算機科學中討論不同的問題解決演算法時,排序是一個非常普遍的問題。顧名思義,排序表示將一組資料按某種方式排列。通常我們可以按非遞減順序或非遞增順序排列它們。或者,排序也可以以預定義的方式進行。對於基於字串的問題,有時我們使用字典序排序來以字典的方式排列字母。有許多不同的排序技術,具有一定的變化及其時間和空間複雜度。迄今為止,基於比較的排序技術的最低時間複雜度是O(n*log n)。但是,也有一些機械排序技術,如桶排序、基數排序、計數排序,它們的時間複雜度是線性的O(n)。有關更多資訊,請點選以下連結:
https://tutorialspoint.tw/data_structures_algorithms/sorting_algorithms.htm
因此,如果我們問題的輸入類似於A = [2014, 2016, 2015],則輸出將為2015。
步驟
為了解決這個問題,我們將遵循以下步驟:
b := 0 n := size of A for initialize i := 0, when i < n, update (increase i by 1), do: b := b + A[i] return b / n
示例
讓我們看看以下實現,以便更好地理解:
#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A){
int b = 0;
int n = A.size();
for (int i = 0; i < n; i++){
b += A[i];
}
return b / n;
}
int main(){
vector<int> A = { 2014, 2016, 2015 };
cout << solve(A) << endl;
}輸入
{ 2014, 2016, 2015 }輸出
2015
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP