刪除公共字元 ,組隊競賽

2021-09-23 07:58:03 字數 2060 閱讀 1172

問答題1:格式控制輸出,該**輸出的是?

int

main()

答案如下:

computer

com

問答題2:選擇表示式 11|10 的結果(本題數值均為十進位制)

程式設計題1:組隊競賽

牛牛舉辦了一次程式設計比賽,參加比賽的有3*n個選手,每個選手都有乙個水平值a_i現在要將這些選手進行組隊,一共組成n個隊伍,即每個隊伍3人.牛牛發現隊伍的水平值等於該隊伍隊員中第二高水平值

例:乙個隊伍三個隊員的水平值分別是3,3,3.那麼隊伍的水平值是3,乙個隊伍三個隊員的水平值分別是3,2,3.那麼隊伍的水平值是3,乙個隊伍三個隊員的水平值分別是1,5,2.那麼隊伍的水平值是2;為了讓比賽更有看點,牛牛想安排隊伍使所有隊伍的水平值總和最大;牛牛想把6個隊員劃分到兩個隊伍

方案1為:

team1:, team2:, 這時候水平值總和為7.

方案2為:

team1:, team2:, 這時候水平值總和為10.

沒有比總和為10更大的方案,所以輸出10.

輸入的第一行為乙個正整數 n (1 ≤ n ≤ 10^5)

第二行包括3*n個整數a_i(1 ≤ a_i ≤ 10^9),表示每個參賽選手的水平值.

輸出乙個整數表示所有隊伍的水平值總和最大值.

解題思路要找到每組排行第二的數,那麼可以把陣列公升序排序後,從倒數第二個值開始加,每次隔兩個位置.一共加 n 次

#include

#include

#include

using namespace std;

intmain()

sort

(a_i.

begin()

,a_i.

end())

;long

long res =0;

int index =

3*n-2;

while

(n--

) cout<}return0;

}

程式設計題2 :刪除公共字元

輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入they are students.aeiou,則刪除之後的第乙個字串變成thy r stdnts.

提示:可以使用雙層迴圈,但是太過於暴力,所以借助o(n)的輔助空間建立雜湊對映,如果第乙個字串中對應的字元在雜湊表中為0,則說明當前字元不在字串2中,然後尾加到輸出字串中.

#include

using namespace std;

intmain()

;for

(auto e:str2)

for(

auto e:str1)

} cout

}

這種雜湊的方式比起來那些陣列元素的移動還是很有優勢的,因為它時間複雜度很小,如果按照一般的思路去做,那就得移動元素,這是特別耗費時間的;所以借用次數然後再臨時新建乙個容器vector,把沒有出現過的元素賦值到新的容器

python 解法是怎麼樣的?

str1 =

input()

str2 =

input()

for i in str2:

str1 = str1.replace(i,'')

print

(str1)

五行就可以寫完了,第一行和第二行是接收字串,然後是迴圈遍歷str2字串,迴圈裡面是乙個替換函式,意思是將str1**現在str2字元替換為空白,這樣就相當於刪除了.

刪除公共字元

輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.輸入描述 每個測試輸入包含2個字串 輸出描述 輸出刪除後的字串 輸入例子 they are students.aeiou 輸出例...

刪除公共字元

題目描述 輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.輸入描述 每個測試輸入包含2個字串 輸出描述 輸出刪除後的字串 分析 水題,直接寫即可 def isbelong a,...

刪除公共字元

題目 輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.每個測試輸入包含2個字串輸出刪除後的字串示例1 they are students.aeiouthy r stdnts.i...