多陣列按條件抽取元素的優化演算法

2021-06-17 22:32:57 字數 530 閱讀 9153

程式設計中演算法很重要,請牛人指點!!!

嘴笨,直接舉例說明吧:

多陣列,比如3個整數陣列(實際陣列的元素未必如此規律):

int a=;

int b=;

int c=;

從a抽取乙個元素a,從b中抽取乙個元素b,從c中抽取乙個元素c。

要求:第一,int x=a+b+c   要求x<=15 並且 x>=12

第二,abc三個數的方差和最小,int y=(a-b)*(a-b)+(b-c)*(b-c)+(a-c)*(a-c),y的值要求最小。

思路分析:

如果按照窮舉遍歷的思路,是可以解決問題的:

第乙個條件比較容易滿足,排列組合三個陣列,得到abc三個數,然後檢查x的值是否滿足條件即可,這樣就得到多個abc的組合陣列(方便描述稱此陣列為 int d);

第二個條件也比較容易滿足,遍歷陣列d,計算y的值;然後取y值最小的d元素,就是所求了。

除了這樣窮舉遍歷的思路之外,還有什麼好的思路呢?

如果是4個陣列,5個陣列呢?這個窮舉遍歷的思路就不好使!

演算法之尋找陣列中的多數元素

給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在多數元素。首先,我們先按照一般思路想。可以新定義乙個陣列來儲存原始陣列中每個不同元素出現的個數,然後定義兩個變數來儲存當前最大出現的次數和當前的多數元素。pr...

Python按條件刪除巢狀列表中的元素

今日在做深度學習過程中,資料採集的時候,因為粗心,coding有乙個小bug沒有看出,但是不影響資料採集。又因為資料採集量比較大,索性就按照出錯的方式,直接寫指令碼對資料進行處理,將bug抵消掉。思路 1 for迴圈遍歷,找出符合條件的元素,並將元素賦值成不會出現的資料,並做好count計數 2 再...

求陣列主元素的O n 演算法

在乙個規模為n的陣列a n 中,所謂主元素就是出現次數大於n 2的元素,例如 3.3.4.2.4.4.2.4.4 有乙個主元素為4。充分利用主元素的出現次數大於n 2這個已知條件,因為主元素的出現次數大於n 2,所以容易證明下面的解法是正確的 首先假設主元素是x,則遍歷陣列時出現與x相等的元素時,x...