摘要:題目描述思路先把數(shù)組進行升序排序,再進行數(shù)組去重,最后循環(huán)比較取得結(jié)果。升序排序可以使用若要降序排列可以則是數(shù)組去重,我使用的中的方法去重,可以參照一行代碼實現(xiàn)數(shù)組去重數(shù)組去重數(shù)組去重方法最優(yōu)解源碼排序去重
題目描述
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]
先把數(shù)組進行升序排序,再進行數(shù)組去重,最后循環(huán)比較取得結(jié)果。
升序排序可以使用:
array.sort (function (a, b) { return a - b; // 若要降序排列可以則是 b - a });
數(shù)組去重,我使用的ES6中的Set方法去重,可以參照:
一行代碼實現(xiàn)數(shù)組去重(ES6)
JavaScript 數(shù)組去重
JS數(shù)組去重方法最優(yōu)解
/** * @param {number[]} nums * @return {number[]} */ var findDisappearedNumbers = function(nums) { // 排序 let numList = nums.sort(function (a, b) { return a - b; }); let numLength = nums.length; // 去重 numList = Array.from(new Set(numList)); let i = 0, a = []; for (let n = 1; n < numLength + 1; n++) { if (n > numList[numList.length - 1]) { a.push(n); } else { if (n == numList[i]) { i++; } else if (n < numList[i]) { a.push(n); } } } return a; };
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/88068.html
摘要:題目要求假設(shè)一個長度為的整數(shù)數(shù)組,數(shù)組中的元素的值位于區(qū)間中。代碼如下但是這個實現(xiàn)違背了的空間復雜度這里結(jié)果集不視為額外空間。如果當前元素無需進行交換,則指針右移一位。無需進行的場景是指當前元素已經(jīng)出現(xiàn)在目標位置上了。 題目要求 Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some element...
摘要:如果這個位置的值為正意味著我們還沒有對這個元素進行過操作,我們將這個位置的元素的值取負。在整個遍歷結(jié)束后,沒有取負的值的索引,就可以對應到?jīng)]有在數(shù)組出現(xiàn)過的值解法 題目詳情 Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others ap...
摘要:題目鏈接一般這種類型的題要,要么給賦值成不在范圍內(nèi)的數(shù),要么到對應位置。 448. Find All Numbers Disappeared in an Array 題目鏈接:https://leetcode.com/problems... 一般這種類型的題要in place,要么給num[i]賦值成不在范圍內(nèi)的數(shù),要么swap到對應位置。 public class Solution ...
Problem 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...
Problem 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...
閱讀 2190·2020-06-12 14:26
閱讀 2493·2019-08-29 16:41
閱讀 1892·2019-08-29 15:28
閱讀 2461·2019-08-26 13:43
閱讀 764·2019-08-26 13:37
閱讀 2782·2019-08-23 18:13
閱讀 2809·2019-08-23 15:31
閱讀 1025·2019-08-23 14:10