筆試題 紅包問題

2021-07-10 21:50:50 字數 440 閱讀 4622

先將陣列形式的gifts轉化成linkedlist,然後利用collections中的sort方法進行排序,這樣就可以得到相同元素都在一起的乙個有序陣列,再進行乙個for迴圈,使用乙個計數器計算每個金額的個數就可以得到答案。

**如下:

public

static

intgetvalue(int gifts, int n)

});

int result = 1;

int count = 0;

for(int i =0;iget(i);

}for(int j = 1;jif((gifts[j]!=gifts[j-1])&&jif(result > n/2)else

}else

}}

return count;

}

求解微信紅包(2016騰訊校招筆試題)

題目描述 請幫小明找到該紅包金額。寫出具體演算法思路和 實現,要求演算法盡可能高效。解題思路 這道題看上去感覺挺簡單,最簡單的方法就是分別算出每個紅包金額出現次數,再找出出現次數過半的金額。但是這麼常規做法肯定 超出了題目所給的限制條件 時間複雜度和空間複雜度 儘管題目沒有明確表明。首先仔細看題目給...

筆試題 階乘問題

題幹 題意 給你乙個陣列n 1 n 1e5 讓你輸出有多少數的階乘後恰好有n個0,並依次輸出。型別 二分or暴力 分析 肯定滿足,數字越大,其後的0的個數也就越多。於是我們可以二分出最小的l,使得fac l n 同時我們二分出最大的r,使得fac r n 然後答案就是區間段 l,r 而算fac l ...

筆試題 賽馬問題

25匹馬,5個跑道,每個跑道最多能有1匹馬進行比賽,最少比多少次可以比出前5名?因為有25匹馬,而跑道只有5個,最開始通過6場選出第一名的馬匹應該是毫無爭議的 小組賽 12 345a1 a2a3 a4a5 1 2345 b1b2 b3b4b5 1234 5c1c2c3 c4c5 1 2345 d1d...