leetcode 781. 森林中的兔子(hashmap)

森林中,每個兔子都有顏色。其中一些兔子(可能是全部)告訴你還有多少其他的兔子和自己有相同的顏色。我們將這些回答放在 answers 數組里。

返回森林中兔子的最少數量。

示例:
輸入: answers = [1, 1, 2]
輸出: 5
解釋:
兩只回答了 “1” 的兔子可能有相同的顏色,設為紅色。
之后回答了 “2” 的兔子不會是紅色,否則他們的回答會相互矛盾。
設回答了 “2” 的兔子為藍色。
此外,森林中還應有另外 2 只藍色兔子的回答沒有包含在數組中。
因此森林中兔子的最少數量是 5: 3 只回答的和 2 只沒有回答的。

輸入: answers = [10, 10, 10]
輸出: 11

輸入: answers = []
輸出: 0

解題思路

將具有報出相同數量同類的兔子作為一組,遍歷一次數組,就可以知道每個組內缺了多少個兔子,再加上原數組中的兔子個數,就是森林中兔子的最少數量。

代碼

class Solution {public int numRabbits(int[] answers) {HashMap<Integer, Integer> map = new HashMap<>();for (int i = 0; i < answers.length; i++) {if(answers[i]==0) continue; //獨一無二的兔子map.put(answers[i],map.getOrDefault(answers[i],answers[i]+1)-1);if(map.get(answers[i])==0) map.remove(answers[i]);//這個組已經查完了,移除}int res=answers.length;for (Map.Entry<Integer, Integer> entry : map.entrySet()) {res+=entry.getValue();}return res;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/391502.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/391502.shtml
英文地址,請注明出處:http://en.pswp.cn/news/391502.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

快速排序簡便記_建立和測試股票交易策略的快速簡便方法

快速排序簡便記Note from Towards Data Science’s editors: While we allow independent authors to publish articles in accordance with our rules and guidelines, we do not endorse each author’s contribution. You should not rely on an author’s works without se…

Java學習第1天:序言,基礎及配置tomcat

所謂是福不是禍&#xff0c;是禍躲不過&#xff0c;到底還是回到java的陣地上來。既然它這么熱&#xff0c;那就學學它&#xff0c;現在這件事已經提上議事日程&#xff0c;也已經開始。 今天做的事&#xff1a; 泛泛的翻了幾本書&#xff0c;敲了一些練習代碼&#xff0c;比如…

robot:List變量的使用注意點

創建list類型變量&#xff0c;兩種方式&#xff0c;建議使用Create List關鍵字 使用該列表變量時需要變為${}方式&#xff0c;切記切記&#xff01; 轉載于:https://www.cnblogs.com/gcgc/p/11429482.html

python基礎教程(十一)

迭代器 本節進行迭代器的討論。只討論一個特殊方法---- __iter__ &#xff0c;這個方法是迭代器規則的基礎。 迭代器規則 迭代的意思是重復做一些事很多次---就像在循環中做的那樣。__iter__ 方法返回一個迭代器&#xff0c;所謂迭代器就是具有next方法的對象&#xff0c;在調…

編程需要數學知識嗎_編程需要了解數學嗎?

編程需要數學知識嗎Does programming require knowing math? Not necessarily. 編程需要了解數學嗎&#xff1f; 不必要。 When I say that, Im mostly talking about Web Development, not working with graphics or specific applications that require advanced math. 當我…

美劇迷失_迷失(機器)翻譯

美劇迷失Machine translation doesn’t generate as much excitement as other emerging areas in NLP these days, in part because consumer-facing services like Google Translate have been around since April 2006.如今&#xff0c;機器翻譯并沒有像其他NLP新興領域那樣…

mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解決方法 (grant 授予權限)...

從服務器上遷移數據庫到本地localhost 執行 函數 時報錯&#xff0c; mysql 1449 &#xff1a; The user specified as a definer (usertest%) does not exist 經查&#xff0c;是權限問題(其中usertest是服務器上數據庫的登錄名)&#xff0c;解決辦法&#xff1a; 授權給 u…

初識數據結構與算法

1、什么是數據結構&#xff1f; a、數據結構是一門研究非數值計算的程序設計問題中的操作對象&#xff0c;以及它們之間的關系和操作等相關問題的學科。 b、數據結構是計算機存儲、組織數據的方式&#xff0c;數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常…

產品經理思考

1.分析QQ與微信的區別&#xff0c;包含其中存在的問題&#xff0c;并給出解決方案。 2.如果你設計一款基于音樂的高品質內容的社交軟件&#xff0c;給說出這么設計的原因。 3.請說出一款APP的的看法&#xff0c;指出其中不合理的地方&#xff0c;并說明原因&#xff08;APP如果…

shopify 開發_播客第57集:從Shopify的作家到開發人員,與Adam Hollett一起

shopify 開發On this weeks episode of the freeCodeCamp podcast, Quincy interviews Adam Hollett. Hes a software developer at Shopify in Ottawa, Canada.在本周的freeCodeCamp播客節目中&#xff0c;Quincy采訪了Adam Hollett。 他是加拿大渥太華Shopify的軟件開發人員。…

機器學習中決策樹的隨機森林_決策樹和隨機森林在機器學習中的使用

機器學習中決策樹的隨機森林機器學習 (Machine Learning) Machine learning is an application of artificial intelligence that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. The 3 main categor…

pycharm 快捷鍵

編輯: ctrl D   快速復制粘貼一行 ctrl E   快速刪除一行 ctrl Z   撤銷上一步命令或輸入 end  快速跳到行末 shift enter  快速換行&#xff08;尤其適用于光標不在行末時&#xff09; ctrl F  查找 ctrl R  替換 轉載于:https://www.cnblogs.com/Chris-0…

【Python算法】遍歷(Traversal)、深度優先(DFS)、廣度優先(BFS)

圖結構&#xff1a; 非常強大的結構化思維&#xff08;或數學&#xff09;模型。如果您能用圖的處理方式來規范化某個問題&#xff0c;即使這個問題本身看上去并不像個圖問題&#xff0c;也能使您離解決問題更進一步。 在眾多圖算法中&#xff0c;我們常會用到一種非常實用的思…

r語言編程基礎_這項免費的統計編程課程僅需2個小時即可學習R編程語言基礎知識

r語言編程基礎Learn the R programming language in this course from Barton Poulson of datalab.cc. This is a hands-on overview of the statistical programming language R, one of the most important tools in data science.從datalab.cc的 Barton Poulson學習本課程中…

leetcode 81. 搜索旋轉排序數組 II(二分查找)

已知存在一個按非降序排列的整數數組 nums &#xff0c;數組中的值不必互不相同。 在傳遞給函數之前&#xff0c;nums 在預先未知的某個下標 k&#xff08;0 < k < nums.length&#xff09;上進行了 旋轉 &#xff0c;使數組變為 [nums[k], nums[k1], …, nums[n-1], nu…

使用ViewContainerRef探索Angular DOM操作技術

每當我閱讀中遇到&#xff0c;關于Angular中使用DOM的內容時&#xff0c;總會看到一個或幾個這樣的類&#xff1a;ElementRef&#xff0c;TemplateRef&#xff0c;ViewContainerRef等等。 不幸的是&#xff0c;雖然其中的一些被Angular文檔或相關文章所講述&#xff0c;但是我還…

numpy1

1、NumPy包含的內容 1、ndarrray&#xff0c;高效的多維數組&#xff0c;提供了基于數組的便捷算術操作以及靈活的廣播功能&#xff1b; 2、對所有數組對象進行快速的矩陣計算&#xff0c;而無需編寫循環&#xff1b; 3、提供對硬盤中的數據的讀寫工具&#xff0c;并對內存映射…

我如何預測10場英超聯賽的確切結果

Is there a way to predict the outcome of any soccer game with 100% accuracy? The honest and simplest answer is…. no. Regardless of what your fantasy football friends say, there is absolutely no way to be 100% certain, but there is a proven, mathematical …

多迪技術總監揭秘:PHP為什么是世界上最好的語言?

PHP這么一個腳本語言&#xff0c;雖然他是web開發中&#xff0c;使用者最多的語言&#xff0c;最快最簡單的語言&#xff0c;生態環境和社區積累最深厚的語言&#xff0c;作為最好的編程語言&#xff0c;多迪技術總監為你介紹&#xff1a;PHP為什么是世界上最好的語言&#xff…

aws數據庫同步區別_了解如何通過使用AWS AppSync構建具有實時數據同步的應用程序

aws數據庫同步區別AWS AppSync automatically updates the data in web and mobile applications in real time, and updates data for offline users as soon as they reconnect. AWS AppSync會自動實時更新Web和移動應用程序中的數據&#xff0c;并在離線用戶重新連接后立即為…