力扣.1471數組的k個最強值,力扣.1471數組的k個最強值力扣1576.替換所有的問號力扣1419.數青蛙?編輯力扣300.最長遞增子序列

目錄

力扣.1471數組的k個最強值

力扣1576.替換所有的問號

力扣1419.數青蛙?編輯

力扣300.最長遞增子序列


力扣.1471數組的k個最強值

class Solution {public static int[] getStrongest(int[] arr,int k) {if(k==arr.length){return arr;}int []ret=new int[k];int n=arr.length;//歸并排序,我只是想練一下,你直接Arrays.sort()即可merge(arr,0,n-1);//數組已經有序int mid=arr[(n-1)/2];int jj=0;int i=0;int j=n-1;while(i<j&&k>0){//看題中的條件while((k>0&&i<j)&&(Math.abs(arr[i]-mid)>Math.abs(arr[j]-mid)||(Math.abs(arr[i]-mid)==Math.abs(arr[j]-mid)&&arr[i]>arr[j]))){k--;ret[jj++]=arr[i++];}//注意此時涉及到一個情況,假如k還剩一個,然后一個7還有一個7兩個都是中位數,事例3.這個情況,就隨便讓那個一個相等即可。我們選擇讓后面的相同,因為一般后面的更大一點while((k>0&&i<j)&&(Math.abs(arr[i]-mid)<Math.abs(arr[j]-mid)||(Math.abs(arr[i]-mid)==Math.abs(arr[j]-mid)&&arr[i]<=arr[j]))){//找到一個數字,再進行插入k--;ret[jj++]=arr[j--];}}return ret;}
public static void merge(int[]arr,int left,int right){if(left>=right)return ;int mid=(left+right)/2;merge(arr,left,mid);merge(arr,mid+1,right);//數組兩個有序之后,合并兩個有序數組int cur1=left;int cur2=mid+1;int []tmp=new int[right-left+1];int k=0;while(cur1<=mid&&cur2<=right){if(arr[cur1]<=arr[cur2])tmp[k++]=arr[cur1++];else tmp[k++]=arr[cur2++];}while(cur1<=mid) tmp[k++]=arr[cur1++];while(cur2<=right) tmp[k++]=arr[cur2++];k=0;for(int i=left;i<=right;i++){arr[i]=tmp[k++];}}
}

模擬算法流程->轉化成代碼

力扣1576.替換所有的問號

沒什么操作,挺簡單的想法

但是要補充一些知識:

單引號:表示的是字符的含義

雙引號:表示的是字符串的含義

此時這里需要用到的是單引號

String.valueOf()

轉化成字符串。

 public String modifyString(String s) {char[]a=s.toCharArray();for(int i=0;i<a.length;i++){if(a[i]=='?'){for(char a1='a';a1<='z';a1++){if((i==0||a1!=a[i-1])&&(i==a.length-1||a1!=a[i+1])){a[i]=a1;break;}}}}return String.valueOf(a);}

力扣1419.數青蛙

用下標模擬哈希表進行下標映射,基本操作,剩下慢慢打表即可。

class Solution {public static int minNumberOfFrogs(String croakOfFrogs) {int count=0;int []a=new int[26];for(int i=0;i<croakOfFrogs.length();i++){int tmp=croakOfFrogs.charAt(i)-'a';if(tmp==2){if(a[10]!=0){a[10]--;a[2]++;}else{a[2]++;}}else if(tmp==17){if(a[2]!=0){a[2]--;a[17]++;}else{return -1;}}else if(tmp==14){if(a[17]!=0){a[17]--;a[14]++;}else{return -1;}}else if(tmp==0){if(a[14]!=0){a[14]--;a[0]++;}else{return -1;}}else if(tmp==10){if(a[0]!=0){a[0]--;a[10]++;}else{return -1;}}}if(a[10]==0){return -1;}if(a[2]!=0){return -1;}return a[10];}
}

力扣300.最長遞增子序列

1.狀態表示

dp[i]:以i位置元素為結尾的所有子序列中,最長遞增子序列的長度

狀態轉移方程

dp[i]=max(dp[j]+1)(j<i&nums[j]<nums[i])

我們僅關心你的最后一個元素是誰

2.貪心優化

僅存你的最后一個元素

存什么:所有長度為x的遞增子序列中,最后一個元素的最小值

存哪里:所有大于等于nums[i]的最小值的位置

利用二分可以進行優化,快速定位插入位置

來個x

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

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

相關文章

使用docker安裝clickhouse集群

1、簡介 clickhouse 作為大數據場景中&#xff0c;實現快速檢索的常用列式存儲數據庫&#xff0c;采用物理機部署&#xff0c;會在數據量大的場景中&#xff0c;物理機器存儲達到閾值需要擴容&#xff0c;會帶來比較大的問題&#xff0c;因此&#xff0c;使用docker部署clickho…

package-lock.json能否直接刪除?

package-lock.json能否直接刪除&#xff1f; package-lock.json 生成工具&#xff1a;由 npm 自動生成。 觸發條件&#xff1a;當運行 npm install 時&#xff0c;如果不存在 package-lock.json&#xff0c;npm 會創建它&#xff1b;如果已存在&#xff0c;npm 會根據它精確安…

如何在 Windows 命令提示符中創建多個文件夾和多個文件

如何在 Windows 命令提示符中創建多個文件夾和多個文件 雖然大多數用戶習慣使用 Windows 圖形界面來創建文件夾&#xff0c;但如果你需要一次性創建多個文件夾或文件&#xff0c;如同在類Unix系統中可以使用mkdir和touch命令一樣&#xff0c;windows下也有創建目錄和文件的對應…

leetcode - 滑動窗口問題集

目錄 前言 題1 長度最小的子數組&#xff1a; 思考&#xff1a; 參考代碼1&#xff1a; 參考代碼2&#xff1a; 題2 無重復字符的最長子串&#xff1a; 思考&#xff1a; 參考代碼1&#xff1a; 參考代碼2&#xff1a; 題3 最大連續1的個數 III&#xff1a; 思考&am…

Ubuntu20.04下如何源碼編譯Carla,使用UE4源碼開跑,踩坑集合

一、簡介 作為一個從事算法研究的人員,無人駕駛仿真一直是比較重要的一部分,但是現在比較常見的算法驗證都是在carla這個開源仿真平臺上做的,所以我有二次開發carla的需求,今天就來講講編譯CARLA。 網上的教材很多,但還是推薦大家看官網教程:Linux build - CARLA Simul…

Linux云計算訓練營筆記day09(MySQL數據庫)

Linux云計算訓練營筆記day09&#xff08;MySQL數據庫&#xff09; 目錄 Linux云計算訓練營筆記day09&#xff08;MySQL數據庫&#xff09;外鍵約束數據的導入和導出數據的導出數據的導入 DQL 數據查詢語言查指定字段查所有字段where 過濾條件and 和 orin 和 not inbetween...an…

對心理幸福感含義的探索 | 幸福就是一切嗎?

注&#xff1a;機翻&#xff0c;未校。 Happiness Is Everything, or Is It? Explorations on the Meaning of Psychological Well-Being 幸福就是一切嗎&#xff1f;對心理幸福感含義的探索 Journal of Personality and Social Psychology 1989, Vol. 57, No. 6,1069-1081 …

零基礎學Java——第十一章:實戰項目 - 微服務入門

第十一章&#xff1a;實戰項目 - 微服務入門 隨著互聯網應用的復雜性不斷增加&#xff0c;單體應用&#xff08;Monolithic Application&#xff09;在可擴展性、可維護性、技術棧靈活性等方面逐漸暴露出一些問題。微服務架構&#xff08;Microservices Architecture&#xff…

git 本地提交后修改注釋

dos命令行進入目錄&#xff0c;idea可以點擊Terminal 進入命令行 git commit --amend -m "修改內容"

Python訓練打卡Day22

復習日&#xff1a; 1.標準化數據&#xff08;聚類前通常需要標準化&#xff09; scaler StandardScaler() X_scaled scaler.fit_transform(X) StandardScaler() &#xff1a;這部分代碼調用了 StandardScaler 類的構造函數。在Python中&#xff0c;當你在類名后面加上括號…

氣動排渣煤粉爐專用V型球閥——法蘭連接耐磨閥門生產廠家解析-耀圣

氣動排渣煤粉爐專用V型球閥——法蘭連接耐磨閥門生產廠家解析 副標題&#xff1a;開關靈活無泄漏 標配行程開關/電磁閥/過濾器 一、產品概述&#xff1a;氣動排渣煤粉爐專用V型球閥核心優勢 作為專業的氣動耐磨V型球閥生產廠家&#xff0c;我們針對煤粉爐排渣工況研發的法蘭連…

Linux云計算訓練營筆記day08(MySQL數據庫)

Linux云計算訓練營筆記day08&#xff08;MySQL數據庫&#xff09; 目錄 Linux云計算訓練營筆記day08&#xff08;MySQL數據庫&#xff09;數據準備修改更新update刪除delete數據類型1.整數類型2.浮點數類型(小數)3.字符類型4.日期5.枚舉: 表頭的值必須在列舉的值里選擇拷貝表復…

致遠OA人事標準模塊功能簡介【附應用包百度網盤下載地址,官方售價4W】

人事管理應用&#xff0c;圍繞崗位配置、招聘管理、員工檔案、入轉調離、員工自助申報、數據信息管理等人力資源管理關鍵業務&#xff0c;構建全員可參與的人事工作協同平臺&#xff0c;讓人事從繁雜瑣碎的事務中解脫出來&#xff0c;高質高效工作&#xff0c;讓管理層清楚掌握…

數字孿生工廠實戰指南:基于Unreal Engine/Omniverse的虛實同步系統開發

引言&#xff1a;工業元宇宙的基石技術 在智能制造2025與工業元宇宙的交匯點&#xff0c;數字孿生技術正重塑傳統制造業。本文將手把手指導您構建基于Unreal Engine 5.4與NVIDIA Omniverse的實時數字孿生工廠系統&#xff0c;集成Kafka實現毫秒級虛實同步&#xff0c;最終交付…

【向量模型 + HNSW 參數如何選擇】

目錄 一、embedding_function&#xff08;向量模型&#xff09; 可選方式 選型建議 二、HNSW 參數選擇&#xff08;核心影響搜索速度與準確率&#xff09; 2.1 參數解釋和推薦值 2.2 配置模板參考 1、推薦默認配置&#xff08;適合大多數項目&#xff09;&#xff1a; 2…

fpga系列 HDL : Microchip FPGA開發軟件 Libero Soc 安裝 license申請

啟動 注冊賬號&#xff1a;https://login.microchip.com/申請免費許可&#xff1a;https://www.microchipdirect.com/fpga-software-products C:\Windows\System32>vol驅動器 C 中的卷是 Windows卷的序列號是 ****-****為“D:\Microsemi\License.dat”創建環境變量“LM_LICE…

【C++】解析C++面向對象三要素:封裝、繼承與多態實現機制

解析C面向對象三要素&#xff1a;封裝、繼承與多態實現機制 1. 面向對象設計基石2. 封裝&#xff1a;數據守衛者2.1 訪問控制實現2.2 封裝優勢 3. 繼承&#xff1a;代碼復用藝術3.1 繼承的核心作用3.2 繼承類型對比3.3 典型應用場景3.4 構造函數與析構函數處理3.4.1 構造順序控…

Python并發編程:開啟性能優化的大門(7/10)

1.引言 在當今數字化時代&#xff0c;Python 已成為編程領域中一顆璀璨的明星&#xff0c;占據著編程語言排行榜的榜首。無論是數據科學、人工智能&#xff0c;還是 Web 開發、自動化腳本編寫&#xff0c;Python 都以其簡潔的語法、豐富的庫和強大的功能&#xff0c;贏得了廣大…

數學復習筆記 10

前言 我覺得數學的高分乃至滿分屬于那些&#xff0c;聰明&#xff0c;堅韌&#xff0c;勇敢&#xff0c;細致的人。我非常慚愧自己不是這樣的人&#xff0c;我在生活中發現了這樣的同學&#xff0c;和他們交流的時候我常常感到汗流浹背&#xff0c;因為他們非常扎實的基礎知識…

深入理解 Webpack 核心機制與編譯流程

&#x1f916; 作者簡介&#xff1a;水煮白菜王&#xff0c;一位前端勸退師 &#x1f47b; &#x1f440; 文章專欄&#xff1a; 前端專欄 &#xff0c;記錄一下平時在博客寫作中&#xff0c;總結出的一些開發技巧和知識歸納總結?。 感謝支持&#x1f495;&#x1f495;&#…