華為2016校園招聘上機筆試題 最高分是多少

2021-07-14 08:02:50 字數 1519 閱讀 9776

[程式設計題] 最高分是多少

老師想知道從某某同學當中,分數最高的是多少,現在請你程式設計模擬老師的詢問。當然,老師有時候需要更新某位同學的成績. 

輸入描述:

輸入包括多組測試資料。

每組輸入第一行是兩個正整數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 7

1 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

輸出例子:

565

9

此題坑人的地方有兩處:

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條錯誤記錄 合併錯...