Java C++ 題解leetcode1619刪除某些元素后數(shù)組均值
更新時(shí)間:2022年09月14日 10:41:45 作者:AnjaVon
這篇文章主要為大家介紹了Java C++ 題解leetcode1619刪除某些元素后數(shù)組均值示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
題目要求
思路:模擬
- 根據(jù)題意模擬即可:
- 排序然后只取中間符合條件的數(shù)加和然后計(jì)算均值;
- 根據(jù)給出的數(shù)組長度n為20的倍數(shù),5%可直接取n/20;
- 兩邊各去除5%,則剩余長度為0.9n。
Java
class Solution { public double trimMean(int[] arr) { Arrays.sort(arr); int n = arr.length, tot = 0; for (int i = n / 20; i < n - n / 20; i++) tot += arr[i]; return tot / (n * 0.9); } }
- 時(shí)間復(fù)雜度:O(n log? n),為排序復(fù)雜度,構(gòu)造答案復(fù)雜度為O(n)
- 空間復(fù)雜度:O(log? n),為排序復(fù)雜度
C++
class Solution { public: double trimMean(vector<int>& arr) { sort(arr.begin(), arr.end()); int n = arr.size(), tot = 0; for (int i = n / 20; i < n - n / 20; i++) tot += arr[i]; return tot / (n * 0.9); } };
- 時(shí)間復(fù)雜度:O(n log n),為排序復(fù)雜度,構(gòu)造答案復(fù)雜度為O(n)
- 空間復(fù)雜度:O(log? n),為排序復(fù)雜度
Rust
impl Solution { pub fn trim_mean(arr: Vec<i32>) -> f64 { let mut res = arr.clone(); let n = arr.len(); res.sort(); res[(n / 20)..(n - n / 20)].iter().sum::<i32>() as f64 / (n as f64 * 0.9) } }
- 時(shí)間復(fù)雜度:O(n log ?n),為排序復(fù)雜度,構(gòu)造答案復(fù)雜度為O(n)
- 空間復(fù)雜度:O(log? n),為排序復(fù)雜度
以上就是Java C++ 題解leetcode1619刪除某些元素后數(shù)組均值的詳細(xì)內(nèi)容,更多關(guān)于Java C++ 刪除元素后數(shù)組均值的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C語言實(shí)現(xiàn)飛機(jī)游戲(豪華版)的示例代碼
在前文中已經(jīng)實(shí)現(xiàn)了基礎(chǔ)版和進(jìn)階版的飛機(jī)游戲,但是存在的問題很明顯:已經(jīng)發(fā)射出去的子彈會隨著飛機(jī)位置的實(shí)時(shí)改變而改變,并且不能實(shí)現(xiàn)連發(fā)。本篇文章將利用數(shù)組進(jìn)一步改進(jìn)空戰(zhàn)游戲,感興趣的可以了解一下2022-10-10C++實(shí)現(xiàn)LeetCode(126.詞語階梯之二)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(126.詞語階梯之二),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07用c語言實(shí)現(xiàn)HUP信號重啟進(jìn)程的方法
本篇文章是對使用c語言實(shí)現(xiàn)HUP信號重啟進(jìn)程的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C語言之棧和堆(Stack && Heap)的優(yōu)缺點(diǎn)及其使用區(qū)別
本篇文章主要介紹了什么是棧(Stack) 、什么是堆( Heap),以及棧和堆的優(yōu)缺點(diǎn),同時(shí)介紹了應(yīng)該什么時(shí)候使用堆和棧,有需要的朋友可以參考下2015-07-07