面試經典150題(3-4)

leetcode 150道題 計劃花兩個月時候刷完,今天(第二天)完成了兩道(3-4)150:

  1. (26. 刪除有序數組中的重復項) 題目描述:
給你一個 非嚴格遞增排列 的數組 nums ,請你 原地 刪除重復出現的元素,使每個元素 只出現一次 ,返回刪除后數組的新長度。元素的 相對順序 應該保持 一致 。然后返回 nums 中唯一元素的個數。考慮 nums 的唯一元素的數量為 k ,你需要做以下事情確保你的題解可以被通過:更改數組 nums ,使 nums 的前 k 個元素包含唯一元素,并按照它們最初在 nums 中出現的順序排列。nums 的其余元素與 nums 的大小不重要。
返回 k 。

第一版(我感覺還可以這個可以搞個通用的)

class Solution {public int removeDuplicates(int[] nums) {int len=nums.length;if(len<=1)return len;int index=0;int temp=nums[0];// 找出第一個 重復的for(int i=1;i<len;i++){if(temp==nums[i]){index=i;break;}else{temp=nums[i];}}// 執行調換 按相順序去重if(index==0)return len;for(int i=index;i<len;i++){if(temp!=nums[i]){nums[index++]=nums[i];temp=nums[i];}}return index;}
}

第二版(看了之前寫的,這題我之前也做過了,但是這次還是卡了很久,但是我感覺第二版沒有我第一版好理解,不是很好想出來)

class Solution {public int removeDuplicates(int[] nums) {int len=nums.length;if(len<=1)return len;int index=1;int temp=nums[0];for(int i=1;i<len;i++){if(temp!=nums[i]){nums[index++]=nums[i];temp=nums[i];}}return index;}
}

4.(80. 刪除有序數組中的重復項 II) 題目描述:

給你一個有序數組 nums ,請你 原地 刪除重復出現的元素,使得出現次數超過兩次的元素只出現兩次 ,返回刪除后數組的新長度。不要使用額外的數組空間,你必須在 原地 修改輸入數組 并在使用 O(1) 額外空間的條件下完成。

第一版(這是上一題的延伸版,所以我就按我剛寫的那樣去想了,真的我感覺我這個可以作為一個通類,但是人家解題的也好像可以。。)

class Solution {public int removeDuplicates(int[] nums) {int len=nums.length;if(len<=2)return len;int index=0;int temp=nums[0];int flag=1;for(int i=1;i<len;i++){if(temp!=nums[i]){temp=nums[i];flag=1;}else{if(flag==2){index=i;break;}flag++;}}if(index==0)return len;for(int i=index;i<len;i++){if(temp!=nums[i]){nums[index++]=nums[i];temp=nums[i];flag=1;}else{flag++;if(flag<=2){nums[index++]=nums[i];}}}return index;}
}

第二版(確實很厲害,感覺遇到這類題,就可以全部這樣去弄啊)

class Solution {public int removeDuplicates(int[] nums) {int len=nums.length;if(len<=2)return len;int slow=2,fast=2;while(fast<len){if(nums[slow-2]!=nums[fast]){nums[slow]=nums[fast];slow++;}fast++;}return slow;}
}

我下來按照第一版思路寫了一下這次的 第三題(26. 刪除有序數組中的重復項),確實是模板直接通過了!!
他是數字只能出現一次,第四題是兩次

class Solution {public int removeDuplicates(int[] nums) {int len=nums.length;if(len<=1)return len;int slow=1,fast=1;while(fast<len){if(nums[slow-1]!=nums[fast]){nums[slow]=nums[fast];slow++;}fast++;}return slow;}
}

學習太累了,真的今天差點沒心情去搞這個 leetcode ,刷視頻還是舒服,但是為了跳槽!!!加油。

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

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

相關文章

C#生成Token字符串

Token字符串來保證數據安全性&#xff0c;如身份驗證、跨域訪問等。但是由于Token字符串的長度比較長&#xff0c;可能會占用過多的空間和帶寬資源&#xff0c;因此我們需要生成短的Token字符串 方法一&#xff1a;使用Base64編碼 Base64編碼是一種常用的編碼方式&#xff0c…

測試:接口參數測試

接口參數測試是接口測試中非常重要的一部分&#xff0c;主要是為了驗證接口在不同參數輸入下的行為和響應。下面詳細介紹一下接口參數測試的相關內容&#xff1a; 參數必填與非必填測試&#xff1a;需要測試接口對必填參數和非必填參數的處理。對于必填參數&#xff0c;不提供…

【學習筆記】LLM for Education

ChatGPT has entered the classroom: how LLMs could transform education 前言IntroductionThe risks are realEmbracing LLMsIntroducing the AI tutorAugmenting retrievalWill it catch on?總結 前言 一篇來自Nature的文章&#xff0c;探討了教育行業的不同參與者&#x…

webSRc實現瀏覽器播放rtsp【海康】

先上代碼 <template><div>video的配置自己寫<video id"video" autoplay width"900" height"900"></video></div> </template><script> export default {name: index1,data() {return {webRtcServer: …

WampServer本地部署結合內網穿透實現公網訪問本地服務

文章目錄 前言1.WampServer下載安裝2.WampServer啟動3.安裝cpolar內網穿透3.1 注冊賬號3.2 下載cpolar客戶端3.3 登錄cpolar web ui管理界面3.4 創建公網地址 4.固定公網地址訪問 前言 Wamp 是一個 Windows系統下的 Apache PHP Mysql 集成安裝環境&#xff0c;是一組常用來…

ESP32-Web-Server編程-通過 Base64 編碼在網頁中插入圖片

ESP32-Web-Server編程-通過 Base64 編碼在網頁中插入圖片 概述 不同于上節 ESP32-Web-Server編程-在網頁中通過 src 直接插入圖片,本節引入 Base64 編碼來顯示圖片。 Base64 是一種用64個字符來編碼表示任意二進制數據的方法。任何符號都可以轉換成 Base64 字符集中的字符,…

在做題中學習(31):電話號碼的字母組合(全排列)

17. 電話號碼的字母組合 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;既然要排列組合&#xff0c;就得先根據數字字符取出來 所以先定義一個string類的數組通過下標取到每個數字對應的映射。 string _numsTostr[10]{"","","abc"…

聊聊AsyncHttpClient的KeepAliveStrategy

序 本文主要研究一下AsyncHttpClient的KeepAliveStrategy KeepAliveStrategy org/asynchttpclient/channel/KeepAliveStrategy.java public interface KeepAliveStrategy {/*** Determines whether the connection should be kept alive after this HTTP message exchange.…

進程的相關知識

進程基本概念&#xff1a;1、進程是程序的一次執行過程&#xff0c;進程是資源分配的基本單位&#xff1b;2、每個進程都會分配自己的0至3G的內存空間&#xff0c;這個0至3G的內存空間可以有多份&#xff0c;但是3G至4G的內核空間獨一份&#xff1b;3、進程其實是內核創建的&am…

gitee對接使用

1.創建一個文件夾 2.進入Gitee接受對方項目編輯 3.打開終端初始化一開始創建的文件夾 git init 3.1打開終端 3.2輸入git.init 4.克隆對方的項目 4.1進入Gitee復制對方項目的路徑 4.2在編輯器終端內克隆對方項目 git clone 網址 如此你的編輯器就會出現對方的項目 …

小紅書AI文章寫作工具,免費的小紅書AI寫作工具有哪些

社交媒體已經成為人們交流、分享生活和獲取信息的主要平臺之一。而在這眾多社交媒體中&#xff0c;小紅書以其獨特的社區氛圍和內容特色而備受矚目。如何更高效地進行小紅書文章創作&#xff0c;本文將深入研究小紅書文章AI寫作工具。 小紅書文章AI寫作工具背后的技術 隨著人工…

Java基于Rest Assured自動化測試接口詳解

前言 不知道大家的項目是否都有對接口API進行自動化測試&#xff0c;反正像我們這種小公司是沒有的。由于最近一直被吐槽項目質量糟糕&#xff0c;只能研發自己看看有什么接口測試方案。那么在本文中&#xff0c;我將探索如何使用 Rest Assured 自動化 API 測試&#xff0c;Re…

基于Java SSM框架實現寵物醫院信息管理系統項目【項目源碼】計算機畢業設計

基于java的SSM框架實現寵物醫院信息管理系統演示 java簡介 Java語言是在二十世紀末由Sun公司發布的&#xff0c;而且公開源代碼&#xff0c;這一優點吸引了許多世界各地優秀的編程愛好者&#xff0c;也使得他們開發出當時一款又一款經典好玩的小游戲。Java語言是純面向對象語言…

關于加密解密,加簽驗簽那些事

面對MD5、SHA、DES、AES、RSA等等這些名詞你是否有很多問號&#xff1f;這些名詞都是什么&#xff1f;還有什么公鑰加密、私鑰解密、私鑰加簽、公鑰驗簽。這些都什么鬼&#xff1f;或許在你日常工作沒有聽說過這些名詞&#xff0c;但是一旦你要設計一個對外訪問的接口&#xff…

聚焦中國—東盟大健康產業峰會 點靚廣西“長壽福地”品牌

12月8-10日2023中國—東盟大健康產業峰會暨大健康產業博覽會在南寧國際會展中心成功舉辦&#xff0c;本次峰會由國家中醫藥管理局、廣西壯族自治區人民政府聯合主辦&#xff0c;中國老年學和老年醫學學會、自治區黨委宣傳部、自治區民政廳、廣西壯族自治區外事辦公室、廣西壯族…

MySQL使用窗口函數ROW_NUMBER()、DENSE_RANK()查詢每組第一名或每組前幾名,窗口函數使用詳解

MySQL數據表結構 創建 tbl_class_info 表&#xff0c;表中有四個字段 id、username、score、group_name 使用 ROW_NUMBER()、DENSE_RANK() 查詢每組前三名 -- 查詢每組前3名 SELECT username, score, group_name FROM ( SELECT username, score, group_name, ROW_NUMBER()…

目標檢測——R-FCN算法解讀

論文&#xff1a;R-FCN: Object Detection via Region-based Fully Convolutional Networks 作者&#xff1a;Jifeng Dai, Yi Li, Kaiming He and Jian Sun 鏈接&#xff1a;https://arxiv.org/pdf/1605.06409v2.pdf 代碼&#xff1a;https://github.com/daijifeng001/r-fcn 文…

5.鴻蒙hap可以直接點擊包安裝嗎?

5.鴻蒙hap可以直接點擊包安裝嗎&#xff1f; hap與apk不同&#xff0c;獲取的hap不能直接安裝 安裝方法1&#xff1a; DevEco studio打開項目源文件&#xff0c;打開手機USB調試&#xff0c;DevEco識別到手機后&#xff0c;點擊播放按鈕安裝到手機 https://txwtech.blog.cs…

Rust 通用代碼生成器蓮花發布紅蓮嘗鮮版十八介紹視頻,初學者指南

Rust 通用代碼生成器蓮花發布紅蓮嘗鮮版十八介紹視頻&#xff0c;初學者指南 Rust 通用代碼生成器蓮花發布深度修復版紅蓮嘗鮮版十八介紹視頻&#xff0c;初學者指南&#xff0c;詳細介紹代碼生成器環境搭建&#xff0c;編譯&#xff0c;運行和使用代碼生成物&#xff0c;歡迎…