每日一leetcode:移動零

目錄

解題過程:

描述:

分析條件:

解題思路:

通過這道題可以學到什么:


解題過程:

描述:
?

給定一個數組?nums,編寫一個函數將所有?0?移動到數組的末尾,同時保持非零元素的相對順序。

請注意?,必須在不復制數組的情況下原地對數組進行操作。

示例 1:

輸入: nums = [0,1,0,3,12]
輸出: [1,3,12,0,0]

示例 2:

輸入: nums = [0]
輸出: [0]

提示

  • 1 <= nums.length <= 104
  • -231?<= nums[i] <= 231?- 1

分析條件:

第一遍的思路:(錯誤思路)

當數組的長度為1時,直接返回這個數組

當數組的長度大于1時,我們從數組的第一個數開始遍歷,遇到0,交換
比如 1 0 2? 0 3? 我們就把它變成 1 2 0 3 0 把遇到的第一個0交換到末尾
?

class Solution {public void moveZeroes(int[] nums) {if(nums.length == 1){return;}   // 0 1 0 3 12for(int i = 0;i < nums.length;i++){if(nums[i] != 0){continue;}for(int j = i;j < nums.length - 1;j++){int temp = nums[j];nums[j] = nums[j + 1];nums[j + 1] = temp;}}}
}

這種寫法只通過了28/75個用例,原因是?[0,0,1] 如果0連續,那么這種邏輯會漏掉一些0

正確解題思路:

class Solution {public void moveZeroes(int[] nums) { 1 1 0 //1 2 0 3 12int n = nums.length;//left為左指針,left索引左邊的數均為已處理數int left = 0;//rigth為右指針,right索引不斷右移尋找非0數int right = 0;while(right < n){
//(nums[right] != 0時再交換,這段邏輯可以保證left和right一起移動到第一個num[n] = 0處,
//此時left = n,right = n,下一步left = n,right = n + 1,right開始尋找非0數if(nums[right] != 0){int temp = nums[right];nums[right] = nums[left];nums[left] = temp;left++;}right++;}}
}

通過這道題可以學到什么:

1.數組的長度,nums.length 后面不加()!
2.while循環中,我們要用nums[right != 0]作為條件,這樣可以帶著left和right一起移動到數組中第一個0處

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

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

相關文章

6-Django項目實戰-[dtoken]-用戶登錄模塊

1.創建應用 python manage.py startapp dtoken 2.注冊應用 settings.py中注冊 3.匹配路由4.編寫登錄功能視圖函數 import hashlib import json import timeimport jwt from django.conf import settings from django.http import JsonResponse from user.models import UserPro…

Axure日期日歷高保真動態交互原型

在數字化產品設計中&#xff0c;日期日歷組件作為高頻交互元素&#xff0c;其功能完整性與用戶體驗直接影響著用戶對產品的信任度。本次帶來的日期日歷高保真動態交互原型&#xff0c;依照Element UI、View UI等主流前端框架為參考&#xff0c;通過動態面板、中繼器、函數、交互…

【YOLOv4】

YOLOv4 論文地址&#xff1a;&#xff1a;【https://arxiv.org/pdf/2004.10934】 YOLOv4 論文中文翻譯地址&#xff1a;【深度學習論文閱讀目標檢測篇&#xff08;七&#xff09;中文版&#xff1a;YOLOv4《Optimal Speed and Accuracy of Object Detection》-CSDN博客】 yol…

【秋招筆試】2025.08.03蝦皮秋招筆試-第一題

?? 點擊直達筆試專欄 ??《大廠筆試突圍》 ?? 春秋招筆試突圍在線OJ ?? 筆試突圍在線刷題 bishipass.com 01. 蛋糕切分的最大收益 問題描述 K小姐經營著一家甜品店,今天她有一塊長度為 n n n 厘米的長條蛋糕需要切分。根據店里的規定,她必須將蛋糕切成至少 2 2

2.0 vue工程項目的創建

前提準備.需要電腦上已經安裝了nodejs 參考 7.nodejs和npm簡單使用_npmjs官網-CSDN博客 創建vue2工程 全局安裝 Vue CLI 在終端中運行以下命令來全局安裝 Vue CLI&#xff1a; npm install -g vue/cli npm install -g 表示全局安裝。vue/cli 是 Vue CLI 的包名。 安裝完成后…

視覺圖像處理中級篇 [2]—— 外觀檢查 / 傷痕模式的原理與優化設置方法

外觀缺陷檢測是工業生產中的關鍵環節&#xff0c;而傷痕模式作為圖像處理的核心算法&#xff0c;能精準識別工件表面的劃痕、污跡等缺陷。掌握其原理和優化方法&#xff0c;對提升檢測效率至關重要。一、利用傷痕模式進行外觀檢查雖然總稱為外觀檢查&#xff0c;但根據檢查對象…

ethtool,lspci,iperf工具常用命令總結

ethtool、lspci 和 iperf 是 Linux 系統中進行網絡硬件查看、配置和性能測試的核心命令行工具。下面是它們的常用命令分析和總結&#xff1a; 核心作用總結&#xff1a; lspci: 偵察兵 - 列出系統所有 PCI/PCIe 總線上的硬件設備信息&#xff0c;主要用于識別網卡型號、制造商、…

DAY10DAY11-新世紀DL(DeepLearning/深度學習)戰士:序

本文參考視頻[雙語字幕]吳恩達深度學習deeplearning.ai_嗶哩嗶哩_bilibili 參考文章0.0 目錄-深度學習第一課《神經網絡與深度學習》-Stanford吳恩達教授-CSDN博客 1深度學習概論 1.舉例介紹 lg房價預測&#xff1a;房價與面積之間的坐標關系如圖所示&#xff0c;由線性回歸…

flutter release調試插件

chucker_flutter &#xff08;只有網絡請求的信息&#xff0c;親測可以用&#xff09; flutter&#xff1a;3.24.3 使用版本 chucker_flutter: 1.8.2 chucker_flutter | Flutter package void main() async {// 可以控制顯示ChuckerFlutter.showNotification false;ChuckerF…

基于開源鏈動2+1模式AI智能名片S2B2C商城小程序的私域流量拉新策略研究

摘要&#xff1a;私域流量運營已成為企業數字化轉型的核心戰略&#xff0c;其本質是通過精細化用戶運營實現流量價值最大化。本文以“定位、拉新、養熟、成交、裂變、留存”全鏈路為框架&#xff0c;聚焦開源鏈動21模式、AI智能名片與S2B2C商城小程序的協同創新&#xff0c;揭示…

華為云云服務高級顧問葉正暉:華為對多模態大模型的思考與實踐

嘉賓介紹&#xff1a;葉正暉&#xff0c;華為云云服務高級顧問&#xff0c;全球化企業信息化專家&#xff0c;從業年限超過23年&#xff0c;在華為任職超過21年&#xff0c;涉及運營商、企業、消費者、云服務、安全與隱私等領域&#xff0c;精通云服務、安全合規、隱私保護等領…

【機器學習(二)】KNN算法與模型評估調優

目錄 一、寫在前面的話 二、KNN&#xff08;K-Nearest Neighbor&#xff09; 2.1 KNN算法介紹 2.1.1 概念介紹 2.1.2 算法特點 2.1.3 API 講解 2.2 樣本距離計算 2.2.1 距離的類型 &#xff08;1&#xff09;歐幾里得距離&#xff08;Euclidean Distance&#xff09; …

《Uniapp-Vue 3-TS 實戰開發》實現自定義頭部導航欄

本文介紹了如何將Vue2組件遷移至Vue3的組合式API。主要內容包括:1) 使用<script setup lang="ts">語法;2) 通過接口定義props類型約束;3) 用defineProps替代props選項;4) 將data變量轉為ref響應式變量;5) 使用computed替代計算屬性;6) 將created生命周期…

GitCode疑難問題診療

問題診斷與解決框架通用問題排查流程&#xff08;適用于大多數場景&#xff09; 版本兼容性驗證方法 網絡連接與權限檢查清單常見錯誤分類與解決方案倉庫克隆失敗場景分析 HTTP/SSH協議錯誤代碼解讀 403/404錯誤深層原因排查高級疑難問題處理分支合并沖突的深度解決 .gitignore…

告別物業思維:科技正重構產業園區的價值坐標系

文 | 方寸控股引言&#xff1a;當產業園區的競爭升維為“科技軍備競賽”&#xff0c;土地紅利消退&#xff0c;政策優勢趨同&#xff0c;傳統園區運營陷入增長困局。當招商團隊還在用Excel統計企業需求&#xff0c;當能耗管理依賴保安夜間巡檢&#xff0c;當企業服務停留在“修…

GitHub 熱門項目 PandaWiki:零門檻搭建智能漏洞庫,支持 10 + 大模型接入

轉自&#xff1a;Khan安全團隊你還沒有自己的漏洞庫嗎&#xff1f;一條命令教你搭建。PandaWiki 是一款 AI 大模型驅動的開源知識庫搭建系統&#xff0c;幫助你快速構建智能化的 產品文檔、技術文檔、FAQ、博客系統&#xff0c;借助大模型的力量為你提供 AI 創作、AI 問答、AI …

Python 程序設計講義(55):Python 的函數——函數的參數

Python 程序設計講義&#xff08;55&#xff09;&#xff1a;Python 的函數——函數的參數 目錄Python 程序設計講義&#xff08;55&#xff09;&#xff1a;Python 的函數——函數的參數一、聲明形參二、傳遞實參&#xff08;位置參數&#xff09;1、在調用函數進行傳遞參數時…

機器學習sklearn:支持向量機svm

概述&#xff1a;現在就只知道這個svm可以畫出決策邊界&#xff0c;對數據的劃分。簡單舉例就是&#xff1a;好的和壞的數據分開&#xff0c;中間的再驗證from sklearn.datasets import make_blobs from sklearn.svm import SVC import matplotlib.pyplot as plt import numpy …

Django ORM 詳解:從入門到進階,掌握數據庫操作的核心

在 Django 中&#xff0c;ORM&#xff08;Object Relational Mapping&#xff0c;對象關系映射&#xff09; 是框架的核心之一。它允許你使用 Python 代碼來操作數據庫&#xff0c;而無需編寫原始 SQL 語句。Django ORM 不僅簡化了數據庫操作&#xff0c;還提升了代碼的可讀性、…

mac中使用gvm install沒有效果

問題表現&#xff1a; mac使用了gvm install一直沒有效果&#xff08;添加代理也沒效果&#xff09;&#xff0c;效果如下圖所示&#xff0c;始終卡在downloading&#xff0c;但是gvm version是正常的解決辦法&#xff1a; 手動安裝go的版本&#xff08;版本號自行選擇&#xf…