演算法題 移動零 JS實現

2021-10-24 08:32:41 字數 625 閱讀 5623

給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。

說明:必須在原陣列上操作,不能拷貝額外的陣列。

儘量減少操作次數。

輸入: [0,1,0,3,12]

輸出: [1,3,12,0,0]

思路(方案):

遍歷陣列,將0全部去掉,然後用0填充陣列

利用指標,交換元素位置

方案一

/**

* @param nums

* @return do not return anything, modify nums in-place instead.

*/var

movezeroes

=function

(nums)

}for

(; j < nums.length; j++)}

;

方案二

var

movezeroes

=function

(nums)}}

;

LeetCode演算法題283 移動零解析

給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。這個題也沒有其它的好辦法,只能將0與非零值位置互換直到最後。c 源 class ...

js實現陣列移動零 力扣

給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。我們建立兩個指標i和j,第一次遍歷的時候指標i用來記錄當前有多少非0元素。即遍歷...

js實現幾個演算法題

題目 字串消除 給定乙個字串,僅由a,b,c 3種小寫字母組成。當出現連續兩個不同的字母時,你可以用另外乙個字母替換它,如 有ab或ba連續出現,你把它們替換為字母c 有ac或ca連續出現時,你可以把它們替換為字母b 有bc或cb 連續出現時,你可以把它們替換為字母a。你可以不斷反覆按照這個規則進行...