領釦LintCode演算法問題答案-1886. 目標移動
領釦LintCode演算法問題答案-1886. 目標移動
1886. 目標移動
描述
給定一個陣列 nums 以及一個整數 target 。
你需要把陣列中等於target的元素移動到陣列的最前面,並且其餘的元素相對順序不變。
你的所有移動操作都應該在原陣列上面操作。
- 陣列的長度範圍是: [1, 100000]
- 如果陣列中沒有出現 target 則不需要對原陣列進行修改。
樣例 1:
輸入:
nums = [5, 1, 6, 1]
target=1
輸出: [1, 1, 5, 6]
解釋: 1 是目標值,應該讓所有的1在陣列的最前面
樣例 2:
輸入:
nums = [-1, 2, 3, 5, 2, 2]
target = 2
輸出: [2, 2, 2, -1, 3, 5]
解釋: 2 是目標值,應該讓所有的 2 都在陣列的最前面
樣例 3:
輸入:
nums = [2, 3, 4, 6]
target = 1
輸出: [2, 3, 4, 6]
解釋: 陣列中沒有目標值,不需要改變原陣列
題解
public class Solution {
/**
* @param nums: a list of integer
* @param target: an integer
* @return: nothing
*/
public void MoveTarget(int[] nums, int target) {
// write your code here
int count = 0;
for (int i = nums.length - 1; i >= 0; i--) {
if (nums[i] == target) {
count++;
} else {
if (count > 0) {
nums[i + count] = nums[i];
}
}
}
for (int i = 0; i < count; i++) {
nums[i] = target;
}
}
}
鳴謝
非常感謝你願意花時間閱讀本文章,本人水平有限,如果有什麼說的不對的地方,請指正。
歡迎各位留言討論,希望小夥伴們都能每天進步一點點。
相關文章
- 領釦LintCode演算法問題答案-1343. 兩字串和演算法字串
- 領釦LintCode演算法問題答案-1878. 旋轉數字演算法
- 領釦LintCode演算法問題答案-988. 硬幣擺放演算法
- 領釦LintCode演算法問題答案-1895. 安排面試城市演算法面試
- 領釦LintCode演算法問題答案-1320. 包含重複值演算法
- 領釦LintCode演算法問題答案-1225. 島的周長演算法
- 領釦LintCode演算法問題答案-77. 最長公共子序列演算法
- 領釦LintCode演算法問題答案-1214. 許可證金鑰格式演算法
- 領釦LintCode演算法問題答案-1876. 外星人字典(簡單)演算法
- 領釦LintCode演算法問題答案-1206. 下一個更大的數 I演算法
- 領釦LintCode演算法問題答案-1354. 楊輝三角形II演算法
- 2020納新題目答案
- 演算法題-移動零演算法
- 多目標遺傳演算法NSGA-Ⅱ與其Python實現多目標投資組合優化問題演算法Python優化
- 移動端問題整理
- lintcode演算法題 落單的數 JavaScript演算法JavaScript
- 移動端適配問題
- Vue移動端問題記錄Vue
- 移動端順序問題上
- 移動端相容性問題
- 移動影響報告:可持續發展目標(SDG)
- 【移動端開發】移動端開發基礎問題
- 目標跟蹤演算法概述演算法
- 【虹科分享】一種動態防禦策略——移動目標防禦(MTD)
- C語言演算法競賽入門(二)—陣列元素移動、排序問題、猴子選大王問題C語言演算法陣列排序
- 解決移動端複製問題
- ReactJs移動端相容問題彙總ReactJS
- 移動端iphoneX的適配問題iPhone
- web移動端常問面試題Web面試題
- 移動端滾動穿透問題解決方案穿透
- 演算法刷題:LeetCode中常見的動態規劃題目演算法LeetCode動態規劃
- 目標檢測演算法學習演算法
- 目標跟蹤演算法分類演算法
- opencv的目標跟蹤演算法OpenCV演算法
- 基於混合高斯模型的運動目標檢測演算法模型演算法
- Vim游標移動
- 移動端滾動穿透問題完美解決方案穿透
- 移動端學習目錄