LeetCode【3--無重復的最長字串】 LeetCode【4--有序數組中的中位數】

無重復的最長字串

題目描述

給定一個字符串,請你找出其中不含有重復字符的 最長子串 的長度。
在這里插入圖片描述

解題思路

看到這道題,其實就兩個步驟,遍歷字符串,記錄當前字符有沒有重復。
重復一般解決就是哈希,這里用個數組表示。
這里找最長的字串,就是一個滑動窗口,我們在這里用兩個下標表示,一個為左邊界,一個為右邊界,
初始值left = 0,right = -1;
滑動窗口的滑動就是,右邊界擴大,左邊界縮小
拿abcabcbb舉例

  1. 先擴大右邊界看有沒有越界right+<s.size() 然后要看當前字符a在哈希表中有沒有重復出現count[s[right+1]] == 0,如果沒有,那么count[s[++right]]++; 就是右邊界可以擴大,并且標記a已重復
  2. 第一步完成后,right = 0,left = 0 ,重復上述步驟,判斷right+1<size&&count[s[right+1]] == 0,成功后b也沒有重復,那么右邊界再往右擴一個
  3. 第二步完成后,right = 1,left = 0,再重復上述步驟,判斷rihgt+1<size&&count[s[right+1]] == 0, c也沒有重復,右邊界再往右擴一個
  4. 第三部完成后,right = 2,left = 0,再重復上述步驟,判斷right+1<size&&count[s[right+1]] == 0,此時又判斷到了a,那么count[s[left++]] --,縮小左邊界,同時把哈希中的值更改
  5. 。。。。。往后重復此操作
  6. 每一步操作都要比較舊窗口大小和新窗口大小,就是max(舊的,新的),找出最大值

代碼實現

class Solution {
public:int lengthOfLongestSubstring(string s) {int count[256] = {0}; //哈希int right = -1; //右邊界int left = 0;//左邊界int res = 0; //窗口大小while(left<s.size()){if(right+1<s.size()&&count[s[right+1]] == 0)count[s[++right]] ++;elsecount[s[left++]]--;res = max(res,right-left+1);}return res;}
};

有序數組中的中位數

題目描述

給定兩個大小為 m 和 n 的有序數組 nums1 和 nums2。

請你找出這兩個有序數組的中位數,并且要求算法的時間復雜度為 O(log(m + n))。

你可以假設 nums1 和 nums2 不會同時為空。

在這里插入圖片描述

解題思路

所有的數據結構的中位數都可以用兩個函數解決,就是劍指offer中的數據流中的中位數
具體思路點這里

代碼實現

class Solution {priority_queue<int,vector<int>,less<int>> max;priority_queue<int,vector<int>,greater<int>> min;
public:void Insert(int num){if(max.empty() || num<= max.top())max.push(num);elsemin.push(num);//保證兩個堆的元素個數之差小于1if(max.size() == min.size()+2){min.push(max.top());max.pop();}if(max.size()+1 == min.size()){max.push(min.top()); min.pop();}}double GetMedian(){ return max.size() == min.size() ? (max.top()+min.top())/2.0 : max.top();}double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {for(int i = 0; i<nums1.size();++i){Insert(nums1[i]);}for(int i = 0;i<nums2.size();++i){Insert(nums2[i]);}double res =GetMedian();return res;}
};

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

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

相關文章

hwt字體轉換ttf_五分鐘教你弄懂了字體反爬是個啥

今天的文章內容主要是關于字體反爬。目前已知的幾個字體反爬的網站是貓眼&#xff0c;汽車之家&#xff0c;天眼查&#xff0c;起點中文網等等。以前也看過這方面的文章&#xff0c;今天跟個老哥在交流的時候&#xff0c;終于實操了一把&#xff0c;弄懂了字體反爬是個啥玩意。…

LeetCode【5--最長的回文子串】 LeetCode【6--Z字形變換】

最長的回文子串 題目描述 給定一個字符串 s&#xff0c;找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。 解題思路 可以跟無重復的最長子串一樣&#xff0c;用一個滑動窗口&#xff0c;只不過這個窗口的右邊界往右&#xff0c;左邊界每回要從右邊界的下標往左…

androidstudio 日歷視圖怎么顯示農歷_中秋國慶旅游攻略怎么做?用這個便簽軟件很簡單...

九月已經到來&#xff0c;中秋節和國慶節距離我們也不遠了&#xff0c;今年的中秋和國慶節重疊了有足足八天的假期。不少人都想趁著這個小長假出門旅游&#xff0c;要想保證旅游質量&#xff0c;那么就要做好攻略。中秋國慶旅游攻略怎么做&#xff1f;要想做好一份中秋國慶旅游…

c++ select函數_PySpark 操作函數一覽

PySpark 操作函數一覽Created: Sep 14, 2020 10:28 AM Tags: Big Data, PySpark, Python, SparkPyspark.sql.functionsfrom pyspark.sql import functions as F函數使用說明基本數學函數類abssin、cos、tan、asin、acos 、atan、sinh、cosh、tanhceil、round、floorexp、log、l…

LeetCode【7--整數反轉】 LeetCode【8--字符串轉整數】

整數反轉 題目描述 給出一個 32 位的有符號整數&#xff0c;你需要將這個整數中每位上的數字進行反轉。 解題思路 x%10 取一位&#xff0c;x/10下一位&#xff0c;注意越界&#xff0c; 代碼實現 class Solution { public:int reverse(int x) {int sum 0;while(x){if(s…

word2003如何設置護眼模式_ERP系統上線,如何設置采購收貨的模式,提升企業的采購效率...

如何合理的規劃采購計劃上次去拜訪一個朋友&#xff0c;他們說公司既然出現沒有下達采購訂單&#xff0c;供應商也有送貨過來的事情&#xff0c;對于公司來說&#xff0c;這個是非常嚴重的問題。若用了ERP系統之后&#xff0c;如何避免類似的事情發生&#xff0c;今天我們來分享…

LeetCode【9-- 回文數】LeetCode【10 --正則表達式的匹配】

回文數 題目描述 判斷一個整數是否是回文數。回文數是指正序&#xff08;從左向右&#xff09;和倒序&#xff08;從右向左&#xff09;讀都是一樣的整數。 解題思路 判斷該數的逆序數是不是和原數相同 代碼實現 class Solution { public:bool isPalindrome(int x) {if(…

sun鍵盤沒有stop鍵_請教Sun鍵盤

請教Sun鍵盤(2011-12-24 06:01:11)標簽&#xff1a;計算機雜談請教Sun鍵盤Sun鍵盤上,Help和F1之間的空白鍵是干啥的?Space旁邊的兩個菱形標志的呢?Compose呢?謝謝!請教Sun鍵盤Space旁邊的兩個菱形標志是一個類似Ctrl、Alt的修飾鍵&#xff0c;叫Meta。可以用Meta;鍵名來定義…

LeetCode【11--盛水最多的容器】LeetCode【12 -- 整數轉羅馬數字】

盛水最多的容器 題目描述 給定 n 個非負整數 a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff0c;每個數代表坐標中的一個點 (i, ai) 。在坐標內畫 n 條垂直線&#xff0c;垂直線 i 的兩個端點分別為 (i, ai) 和 (i, 0)。找出其中的兩條線&#xff0c;使得它們與 x 軸共…

LeetCode【13--羅馬數字轉整數】LeetCode【14--最長的公共前綴】

羅馬數字轉整數 題目描述 羅馬數字包含以下七種字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 例如&#xff0c; 羅馬數字 2 寫做 II &#xff0c;即為兩個并列的 1。12 寫做 XII &#xff0c;即為 X II 。 27 寫做 XXVII, 即為 XX…

linux 編譯3g驅動_linux下使用3G撥號上網 以及3g驅動設置

中興WCDMA模塊 Linux撥號流程Version 1.0目錄1. 測試準備……………………………………………………..…32. 撥號腳本………………………………………………………133. 撥號過程………………………………………………………161. 測試準備本文檔測試模塊&#xff1a;MF210(中興W…

文件壓縮(基于LZ77的壓縮)

LZ77壓縮原理 初始LZ77 LZ77是基于字節的通用壓縮算法&#xff0c;它的原理就是將源文件中的重復字節(即在前文中出現的重復字節)使用(offset&#xff0c;length&#xff0c;nextchar)的三元組進行替換 這里的 長度–offset&#xff0c;距離—length&#xff0c;先行緩沖匹配…

好中的圖像處理方面的期刊_約會中,注意這四個方面,幫助你把握好自己的真愛...

兩個人想要擁有一段美好的感情&#xff0c;那么男生就要掌握好一些技巧去追求對方&#xff0c;在追求的過程中&#xff0c;兩個人的約會也非常重要&#xff0c;畢竟只有約會過程中&#xff0c;女孩子才能夠看到你光鮮亮麗的一面&#xff0c;才能夠慢慢的接受你&#xff0c;如果…

kafka consumer配置拉取速度慢_Kafka消費者的使用和原理

這周我們學習下消費者&#xff0c;仍然還是先從一個消費者的Hello World學起&#xff1a;public class Consumer { public static void main(String[] args) { // 1. 配置參數 Properties properties new Properties(); properties.put("key.des…

前綴和

前綴和 輸入一個長度為n的整數序列。 接下來再輸入m個詢問&#xff0c;每個詢問輸入一對l, r。 對于每個詢問&#xff0c;輸出原序列中從第l個數到第r個數的和。 輸入格式 第一行包含兩個整數n和m。 第二行包含n個整數&#xff0c;表示整數數列。 接下來m行&#xff0c;…

子矩陣的和

題目描述 輸入一個n行m列的整數矩陣&#xff0c;再輸入q個詢問&#xff0c;每個詢問包含四個整數x1, y1, x2, y2&#xff0c;表示一個子矩陣的左上角坐標和右下角坐標。 對于每個詢問輸出子矩陣中所有數的和。 輸入格式 第一行包含三個整數n&#xff0c;m&#xff0c;q。 …

jmeter 循環取值賦值給form_JMeter系列(三)邏輯控制器詳解

循環控制器&#xff1a;指定迭代次數&#xff0c;可以用具體數字&#xff0c;也可以通過變量控制永遠&#xff1a;表示無限循環點擊查看示例&#xff1a;Jmeter實例(四)_圖片爬蟲簡單控制器&#xff1a;這是最基礎的一個控制器&#xff0c;它可以讓腳本分層&#xff0c;變成一個…

c 復雜的前置后置面試題_OPPO Reno拆解:優秀工藝由外而內,復雜用料不負旗艦之名...

OPPO的新系列Reno手機最近吸引了不少注意力&#xff0c;不管是消費者還是手機極客都對其優秀的性能和強大的配置抱有極大的興趣。最近&#xff0c;知名數碼博主愛玩客對Reno十倍變焦版進行了拆解&#xff0c;從內部結構向我們揭示了這部手機的強大之處。并且點評道&#xff1a;…

差分矩陣

題目描述 輸入一個n行m列的整數矩陣&#xff0c;再輸入q個操作&#xff0c;每個操作包含五個整數x1, y1, x2, y2, c&#xff0c;其中(x1, y1)和(x2, y2)表示一個子矩陣的左上角坐標和右下角坐標。 每個操作都要將選中的子矩陣中的每個元素的值加上c。 請你將進行完所有操作后…

python常用的開發環境包括_Python語言主要包括哪些集成開發環境?_學小易找答案...

【填空題】Python的標準隨機數生成器模塊是【簡答題】Why does critical thinking matter?【簡答題】采集瓶子的外形進行創意設計 用點、線、面進行裝飾填充 A4紙手繪,構圖要有新意,要飽滿【簡答題】How can a lack of critical thinking cause a loss of personal freedom?【…