LeetCode之Find All Numbers Disappeared in an Array
生活随笔
收集整理的這篇文章主要介紹了
LeetCode之Find All Numbers Disappeared in an Array
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、題目
Given an array of integers where 1 ≤ a[i] ≤?n?(n?= size of array), some elements appear twice and others appear once.
Find all the elements of [1,?n] inclusive that do not appear in this array.
Could you do it without extra space and in O(n) runtime? You may assume the returned list does not count as extra space.
Example:
Input: [4,3,2,7,8,2,3,1]Output: [5,6] Input: [0] Output: [1]
2、代碼實現
public class Solution {public List<Integer> findDisappearedNumbers(int[] nums) {List<Integer> list = new ArrayList<Integer>();if (nums == null || nums.length == 0)return list;Map<Integer, Integer> map = new HashMap<Integer, Integer>();for (int i = 0; i < nums.length; ++i) {map.put(nums[i], 2);}for (int i = 1; i <= nums.length; ++i) {Integer in = map.get(i);if (in == null) { list.add(i);}}return list;}
} ?
3、總結
當我們需要找到數組集合里面沒有包含哪個元素的時候,我們可以采用HashMap來解決這個問題比如{1, 2,4, 2, 5}
還有就是找2個字符串里面第一個不重復元素的問題,我們可以采用HashMap來解決這個問題
? s = "leetcode" return 0. s = "loveleetcode", return 2. 或者找字符數組里面唯一一個重復的字符都可以采用HashMap來解決這個問題
總結
以上是生活随笔為你收集整理的LeetCode之Find All Numbers Disappeared in an Array的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode之Missing Num
- 下一篇: Android之提示can‘t exec