[程式設計題] 最高分是多少
老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績.
輸入描述:
輸入包括多組測試資料。每組輸入第一行是兩個正整數n和m(0 < n <= 30000,0 < m < 5000),分別代表學生的數目和操作的數目。
學生id編號從1編到n。
第二行包含n個整數,代表這n個學生的初始成績,其中第i個數代表id為i的學生的成績
接下來又m行,每一行有乙個字元c(只取『q』或『u』),和兩個正整數a,b,當c為'q'的時候, 表示這是一條詢問操作,他詢問id從a到b(包括a,b)的學生當中,成績最高的是多少
當c為『u』的時候,表示這是一條更新操作,要求把id為a的學生的成績更改為b。
輸出描述:
對於每一次詢問操作,在一行裡面輸出最高成績.
輸入例子:
5 71 2 3 4 5
q 1 5
u 3 6
q 3 4
q 4 5
u 4 5
u 2 9
q 1 5
輸出例子:
5659
此題坑人的地方有兩處:
1,不止輸入一組n m ;
2,ab之間,可能a>b
#include #include using namespace::std ;
int main()
for ( int i = 0; i < m; ++ i )
float max = vec[a] ;
for ( int i = a; i <= b; ++ i )
cout << max << endl ;
} else if ( c == 'u' ) }}
return 0 ;
}
第二次做,還是要注意坑人之處:
此題坑人的地方有兩處:
1,不止輸入一組n m ;
2,ab之間,可能a>b
#include #include using namespace::std ;
int main()
for ( int i = 0; i < m; ++ i )
int max = -1 ;
for ( int i = a - 1; i < b; ++ i )
result.push_back( max ) ;
} else if ( opt == 'u' )
}for ( int i = 0; i < result.size(); ++ i )
}return 0 ;
}
華為2016校園招聘上機筆試題
華為2016校園招聘上機筆試題 撲克牌大小 已通過測試,通過。思路 主要是將比較的左右牌,進行區分開來 首先將左右的牌轉化為字串,10 佔兩個字串,需要特殊處理 將 10 轉化為 1 這樣可以通過左右兩邊字元的個數多少進行區分 include include 定義輸出的字元陣列 char print...
華為2016校園招聘上機筆試題
老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績.思路 區間最大值,點更新。這裡是最簡單的,其實還有區間求和,區間最大值,區間最小值,點更新,區間更新。可以用線段樹 樹狀陣列 rmq 這裡只簡單說明一下區間最大值和點更新,剩餘的放在下...
華為2016校園招聘上機筆試題
踩的坑 q 1 5 在測試樣例中有可能 a 1 b 5,而題目樣例並沒有體現這一點 用法記錄 vector chengji 最大值的求法 踩的坑 要寫成 用法記錄 字元string的查詢 rfind find 字元的erase 傳參同substr stable sort 記錄最多8條錯誤記錄 合併錯...