筆試 百度程式設計題

2021-07-31 09:12:37 字數 2267 閱讀 9593

result.push_back(price);//最終的size一定≤n

}sort(result.begin(), result.end());

if (result.size() < 3 || result.size() > 50)

else

if (count == 3)

}cout

<< -1

<< endl;//輸入的都是同乙個**

return

0; }

}

//丟進set去重

0;}

//暴力列舉,統計就好了。這裡需要計算乙個三角形面積,用叉積或者海**式都可以。

動態規劃dp[i][j]:表示前i個數字構成的數列中,恰好有j個「」就有i-j-1個)

當已經有i-1個數時,此時插入元素i,那i將是最大的數,同時新增了乙個坑位用於放不等式符號(來連線i與之前的不等式),那麼將分兩種情況,坑位放「」。

(1)放「說明之前的方案數為dp[i - 1][j - 1],那麼問題變成——如何將「< i」插入原隊伍?(注意而不是「i

答案:對於每一種原隊伍,要麼放在最右邊,要麼插入右邊是「>」號的地方,故1+(i-j-1) = i-j。

(2)放「>」:說明之前的方案數為dp[i - 1][j ],那麼問題變成——如何將「i >」插入原隊伍?

答案:對於每一種原隊伍,要麼放在最左邊,要麼插入左邊是「

dp[i][j] = dp[i - 1][j - 1] * (i - j) + dp[i - 1][j] * (j + 1)

#include
using

namespace

std;

int n, k, ans;

int dp[1005][1005];

int main()

筆試刷題 百度

題目描述 c市現在要轉移一批罪犯到d市,c市有n名罪犯,按照入獄時間有順序,另外每個罪犯有乙個罪行值,值越大罪越重。現在為了方便管理,市長決定轉移入獄時間連續的c名犯人,同時要求轉移犯人的罪行值之和不超過t,問有多少種選擇的方式?輸入描述 第一行資料三個整數 n,t,c 1 n 2e5,0 t 1e...

筆試程式設計(5) 百度

題目描述 給定乙個陣列num,存在乙個大小為k的滑動視窗,該視窗從陣列的最左邊移到最右邊,只能在視窗看到k個數字,每次滑動向右移動乙個位置,請返回最大滑動視窗裡大數字。要求時間複雜度o n 1,3,1,3,5,3,6,7 3 3,3,5,5,6,7 分析思路 1.視窗最大值遍歷陣列a到len a k...

百度2017秋招筆試程式設計題

二舅要蓋房,小明幫忙搬磚,準備幹 n天。二舅說 每天你可以選輕活 重活 不幹活。怕你累著了,只有前一天沒幹活才能乾重活。當然輕活錢少,重活錢多,而且每天還會變。理工科的小明準備設計乙個演算法,看怎樣才能拿到最多錢。輸入 numofdays 幹的天數 n,整數 tasklist 整數列表,第一列幹輕活...