# Greedy# Sorting

b138 - NOIP2005 1.陶陶摘苹果

🔗 前往 ZeroJudge 原題

題目描述

題目描述了陶陶摘蘋果的情境。給定 10 個蘋果的高度以及陶陶能夠達到的最大高度(包括使用板凳),要求計算陶陶能夠摘到的蘋果數量。

解題思路

這道題的解題思路非常簡單。首先,陶陶的摘蘋果高度是她的身高加上 30 厘米(板凳高度)。然後,遍歷每個蘋果的高度,如果蘋果的高度小於或等於陶陶能夠達到的最大高度,則陶陶可以摘到這個蘋果,計數器加一。

複雜度分析

  • 時間複雜度: O(n),其中 n 是蘋果的數量(在本例中為 10)。遍歷蘋果高度需要線性時間。
  • 空間複雜度: O(1),只使用了常數級別的額外空間來存儲蘋果高度的陣列和計數器。

程式碼

#include <iostream>

using namespace std;

int main(){
	
	int a[10];
	int b=0,c=0;
	for(int i=0;i<10;i++){
		cin >> a[i];
	}
	cin >> b;
	b+=30;
	for(int i=0;i<10;i++){
		if(b>=a[i]){
			c++;
		}
	}
	cout << c << endl;
	return 0; 
}

Discussion