在一個只有1和0的數組中,你會如何計數否。 1s和0s進行比較,然後將其修改爲3s和5s的數組。
我的方法是使用累積數組,例如cumulative [i] = array [i] + cumulative [i-1]。 No of one =累計[n]零個數= n-cumulative [n]; 這種方法是否正確?或者建議一些其他方法? 我們可以將它轉換爲3和5的數組而無需比較嗎?計數沒有。 1s和0s沒有比較
回答
你的方法是正確的。我也不認爲它可以提高很多 - 畢竟你需要迭代所有的數組元素。
我們可以將它轉換爲3和5的數組而無需比較嗎? –
好吧,你可以做一些'new_array [i] = old_array [i] * 2 + 3'。請注意,這種方法只適用於練習 - 它不會優化任何內容,並且會降低可讀性 –
轉換0-> 3和1> 5,你可以用查找表
const int lookup[]={3,5};
forloop {
array[i] = lookup[array[i]];
}
我認爲你可以做到這一點,而不使用比較依靠的是0
在大多數語言視爲False
事實和1
被視爲True
。 例如:C,Python。
因此,不是比較值是0還是1,而是直接使用它作爲條件,並且您應該可以不做比較地完成工作。您可以使用相同的數字來計算1
和0
的發生次數。
在Python,這將轉化爲下面的代碼
>>> original_list = [0, 1, 1, 1, 0, 1, 0]
>>> altered_list = [3 if item else 5 for item in original_list]
>>> print altered_list
[5, 3, 3, 3, 5, 3, 5]
即使它們使用隱式轉換,它們仍然是比較 – sharptooth
你必須使用的事實,你只有有1和0,也爲任何項目這是真的,項目加「一個減項目「產生」一個「。如此算各的號,你可以使用:
numOfOnes += item[i];
numOfZeroes += (1 - item[i]);
那麼你的下一個問題是你必須以某種零到5秒和那些轉化爲三分。使用與上述相同的技巧 - 加權總和爲的數字和一減去數字,使得它分別產生3s和5s。你必須找出正確的體重值。
肯定沒有比較。作爲獎勵,您可以一次完成所有這些工作 - 轉換價值並在飛行中對它們進行計數。
您可以使用計數排序方法技術:創建另一個大小爲2的數組,比如b [2]。然後這樣做:
for(int i=0; i < n; i++) {
b[a[i]]++;
}
最後,B [0]將具有零的數量的計數,和b [1]將具有1秒的數量。
//To find the count of 0 & 1 we can do below
public void findZeroOneCount(int [] arr){
int len=arr.length;
System.out.println(len);
int sum=0;
for(int i=0;i<len;i++){
sum=sum+arr[i];
}
System.out.println("Count of Zero:"+(len-sum%len));
System.out.println("Count of One:"+sum%len);
}
請在代碼塊之外稍加說明您的解決方案 –
- 1. 遞歸0s和1s遞歸
- 2. 沒有比較
- 3. 計數比較quicksort沒有全局Python
- 4. strcmp()沒有比較
- 5. 迴文計劃沒有正確比較
- 6. 字符串比較沒有比較
- 7. 沒有泛型比較
- 8. 的JavaScript沒有比較過
- 9. Java:沒有比較正確
- 10. 比較兩個數字沒有jle
- 11. 沒有調用JavaScript比較函數?
- 12. 比較表沒有連接函數
- 13. 對包含只有三個數字組合的數組進行排序,比如說0s,1s和2s
- 14. PHP&Arrays:檢查long1與1s和0s是否包含短array2只有1s,獲得鍵和匹配鍵array3
- 15. 有沒有辦法比較CGPoints?
- 16. 有沒有浮點比較「異常」?
- 17. 有沒有辦法比較lambdas?
- 18. PHP in_array沒有比較現有值
- 19. 有沒有比較兩個數據幀的有效方式
- 20. 2d整數數組的元素沒有得到比較。沒有試圖比較整個陣列
- 21. 有沒有比較ColdFusion和Ruby的基準測試?
- 22. 有沒有比較PHP功能和Go版本的參考?
- 23. 有沒有人曾經做過SQL Server和Scimore的比較?
- 24. 有沒有人比較Qt商業圖表和matplotlib?
- 25. 你有沒有比較靜態分析工具Klocwork和Findbugs?
- 26. 有沒有可以幫助比較大量數據的設計模式?
- 27. 比較兩個數組和concat沒有重複
- 28. 用1s和0s繪製一個棋盤用嵌套for循環
- 29. Javascript Array.prototype.sort()錯誤,沒有比較功能
- 30. 比較沒有RTTI的抽象類?
使用關聯字典,只需使用數字作爲關鍵字,將字典中的值默認爲新元素的值爲0。 –
該數組是否會包含* 3和5?或者只有0和一個非0號碼?即。 0和3,或者0和5,或者......? –
如何添加所有值並從長度/元素數中減去該值?應該不難看出,在開始時,這種方法不需要爲任意的一對值而改變很多。 – greybeard