在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

空間復(fù)雜度O(n)的棧模擬方法

算法與數(shù)據(jù)結(jié)構(gòu) ? 來(lái)源:代碼隨想錄 ? 作者:代碼隨想錄 ? 2022-07-10 17:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這種匹配(消除)問(wèn)題也是棧的擅長(zhǎng)所在!

844.比較含退格的字符串

給定 S 和 T 兩個(gè)字符串,當(dāng)它們分別被輸入到空白的文本編輯器后,判斷二者是否相等,并返回結(jié)果。# 代表退格字符。

注意:如果對(duì)空文本輸入退格字符,文本繼續(xù)為空。 示例 1:

  • 輸入:S = "ab#c", T = "ad#c"
  • 輸出:true
  • 解釋:S 和 T 都會(huì)變成 “ac”。

示例 2:

  • 輸入:S = "ab##", T = "c#d#"
  • 輸出:true
  • 解釋:S 和 T 都會(huì)變成 “”。

示例 3:

  • 輸入:S = "a##c", T = "#a#c"
  • 輸出:true
  • 解釋:S 和 T 都會(huì)變成 “c”。

示例 4:

  • 輸入:S = "a#c", T = "b"
  • 輸出:false
  • 解釋:S 會(huì)變成 “c”,但 T 仍然是 “b”。

思路

本文將給出 空間復(fù)雜度O(n)的棧模擬方法 以及空間復(fù)雜度是O(1)的雙指針?lè)椒ā?/p>

普通方法(使用棧的思路)

這道題目一看就是要使用棧的節(jié)奏,這種匹配(消除)問(wèn)題也是棧的擅長(zhǎng)所在,跟著一起刷題的同學(xué)應(yīng)該知道,在棧與隊(duì)列:匹配問(wèn)題都是棧的強(qiáng)項(xiàng),我就已經(jīng)提過(guò)了一次使用棧來(lái)做類似的事情了。

那么本題,確實(shí)可以使用棧的思路,但是沒(méi)有必要使用棧,因?yàn)樽詈蟊容^的時(shí)候還要比較棧里的元素,有點(diǎn)麻煩

這里直接使用字符串string,來(lái)作為棧,末尾添加和彈出,string都有相應(yīng)的接口,最后比較的時(shí)候,只要比較兩個(gè)字符串就可以了,比比較棧里的元素方便一些。

代碼如下:

classSolution{
public:
boolbackspaceCompare(stringS,stringT){
strings;//當(dāng)棧來(lái)用
stringt;//當(dāng)棧來(lái)用
for(inti=0;iif(S[i]!='#')s+=S[i];
elseif(!s.empty()){
s.pop_back();

}
for(inti=0;iif(T[i]!='#')t+=T[i];
elseif(!t.empty()){
t.pop_back();
}
}
if(s==t)returntrue;//直接比較兩個(gè)字符串是否相等,比用棧來(lái)比較方便多了
returnfalse;
}
};
  • 時(shí)間復(fù)雜度:O(n + m), n為S的長(zhǎng)度,m為T的長(zhǎng)度 ,也可以理解是O(n)的時(shí)間復(fù)雜度
  • 空間復(fù)雜度:O(n + m)

當(dāng)然以上代碼,大家可以發(fā)現(xiàn)有重復(fù)的邏輯處理S,處理T,可以把這塊公共邏輯抽離出來(lái),代碼精簡(jiǎn)如下:

classSolution{
private:
stringgetString(conststring&S){
strings;
for(inti=0;iif(S[i]!='#')s+=S[i];
elseif(!s.empty()){
s.pop_back();
}
}
returns;
}
public:
boolbackspaceCompare(stringS,stringT){
returngetString(S)==getString(T);
}
};

性能依然是:

  • 時(shí)間復(fù)雜度:O(n + m)
  • 空間復(fù)雜度:O(n + m)

優(yōu)化方法(從后向前雙指針)

當(dāng)然還可以有使用 O(1) 的空間復(fù)雜度來(lái)解決該問(wèn)題。

同時(shí)從后向前遍歷S和T(i初始為S末尾,j初始為T末尾),記錄#的數(shù)量,模擬消除的操作,如果#用完了,就開始比較S[i]和S[j]。

動(dòng)畫如下:

1abd8eba-f681-11ec-ba43-dac502259ad0.gif

如果S[i]和S[j]不相同返回false,如果有一個(gè)指針(i或者j)先走到的字符串頭部位置,也返回false。

代碼如下:

classSolution{
public:
boolbackspaceCompare(stringS,stringT){
intsSkipNum=0;//記錄S的#數(shù)量
inttSkipNum=0;//記錄T的#數(shù)量
inti=S.size()-1;
intj=T.size()-1;
while(1){
while(i>=0){//從后向前,消除S的#
if(S[i]=='#')sSkipNum++;
else{
if(sSkipNum>0)sSkipNum--;
elsebreak;
}
i--;
}
while(j>=0){//從后向前,消除T的#
if(T[j]=='#')tSkipNum++;
else{
if(tSkipNum>0)tSkipNum--;
elsebreak;
}
j--;
}
//后半部分#消除完了,接下來(lái)比較S[i]!=T[j]
if(i0||j0)break;//S或者T遍歷到頭了
if(S[i]!=T[j])returnfalse;
i--;j--;
}
//說(shuō)明S和T同時(shí)遍歷完畢
if(i==-1&&j==-1)returntrue;
returnfalse;
}
};
  • 時(shí)間復(fù)雜度:O(n + m)
  • 空間復(fù)雜度:O(1)
審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    589

    瀏覽量

    21211
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4891

    瀏覽量

    70407
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    820

    瀏覽量

    31886

原文標(biāo)題:比較含退格的字符串

文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CT-3046-O\\CT-3045-N鐵氧體環(huán)行器UTE Microwave

    質(zhì)量要求高的場(chǎng)景;CT-3045-N雖然插入損耗較高,但隔離仍能滿足一般應(yīng)用需求。l 功率容量與溫度穩(wěn)定性 CT-3046-O的功率容量更高,溫度穩(wěn)定性更好,適合大功率和高可靠性
    發(fā)表于 05-23 10:06

    ADIN2111集成10BASE-T1L PHY的低復(fù)雜度、2端口以太網(wǎng)交換機(jī)技術(shù)手冊(cè)

    ADIN2111是一款低功耗、低復(fù)雜度、雙以太網(wǎng)端口交換機(jī),它集成了10BASE-T1L PHY和一個(gè)串行外設(shè)接口(SPI)端口。該器件使用低功率受限節(jié)點(diǎn),面向工業(yè)以太網(wǎng)應(yīng)用且符合IEEE
    的頭像 發(fā)表于 05-15 11:41 ?237次閱讀
    ADIN2111集成10BASE-T1L PHY的低<b class='flag-5'>復(fù)雜度</b>、2端口以太網(wǎng)交換機(jī)技術(shù)手冊(cè)

    VirtualLab Fusion應(yīng)用:多層超表面空間板的模擬

    的同時(shí)使系統(tǒng)盡可能小,解決元件之間的距離問(wèn)題也是必要的。例如,可以通過(guò)將系統(tǒng)折疊起來(lái),利用相同的體積實(shí)現(xiàn)多個(gè)傳播步驟,但這并不是唯一可行的策略。 我們將介紹多層超表面空間板的模擬(由 O. Reshef
    發(fā)表于 04-09 08:51

    CT-3042-O,CT-3041-N鐵氧體環(huán)行器UTE Microwave

    CT-3042-O,CT-3041-N鐵氧體環(huán)行器UTE MicrowaveCT-3042-O與CT-3041-N鐵氧體環(huán)行器屬于非互易型多端口微波組件,它們利用鐵氧體材料的旋磁特性來(lái)
    發(fā)表于 03-24 10:27

    CT-3038-O/CT-3037-N鐵氧體環(huán)行器UTE Microwave

    × 1英寸 連接器類型: CT-3038-O:SMA母頭 CT-3037-NN母頭 典型性能指標(biāo): 隔離:最低18 dB 插入損耗:最高0.40 dB 駐波比:最高1.30:1
    發(fā)表于 02-25 10:18

    N2O(一氧化二氮)氣體和紅外N2O(一氧化二氮)氣體傳感器

    本文聚焦一氧化二氮(N?O,俗稱笑氣)。自然環(huán)境中,土壤微生物活動(dòng)及海洋浮游生物等產(chǎn)生 N?O ,海洋釋放量約占全球自然源排放總量三分之一。但因農(nóng)業(yè)、化石燃料燃燒等人類活動(dòng)排放,
    的頭像 發(fā)表于 01-22 14:45 ?1447次閱讀
    <b class='flag-5'>N2O</b>(一氧化二氮)氣體和紅外<b class='flag-5'>N2O</b>(一氧化二氮)氣體傳感器

    AI時(shí)代下芯片復(fù)雜度飆升,思爾芯國(guó)產(chǎn)硬件仿真加速芯片創(chuàng)新

    引言在人工智能(AI)技術(shù)蓬勃發(fā)展的今天,芯片的復(fù)雜度正以前所未有的速度飆升,輕松跨越了百億邏輯門級(jí)別的大關(guān)。這一趨勢(shì)不僅推動(dòng)了半導(dǎo)體行業(yè)的快速發(fā)展,也對(duì)硬件仿真系統(tǒng)提出了更高的挑戰(zhàn)和要求。在近日
    的頭像 發(fā)表于 12-27 18:01 ?788次閱讀
    AI時(shí)代下芯片<b class='flag-5'>復(fù)雜度</b>飆升,思爾芯國(guó)產(chǎn)硬件仿真加速芯片創(chuàng)新

    芯片設(shè)計(jì)復(fù)雜度劇增,紫光芯片云 3.0 助力企業(yè)搭建專業(yè)設(shè)計(jì)環(huán)境

    。 ? 實(shí)際上,國(guó)內(nèi)中小IC設(shè)計(jì)企業(yè)居多,而如今他們面臨更加復(fù)雜的設(shè)計(jì)需求。隨著芯片制程和規(guī)模要求不斷提高,芯片設(shè)計(jì)環(huán)境所需資源越來(lái)越大,設(shè)計(jì)環(huán)境構(gòu)建更加復(fù)雜,初創(chuàng)企業(yè)如何搭建設(shè)計(jì)環(huán)境,中小企業(yè)如何在人員經(jīng)驗(yàn)欠缺的情況下完成有效布局,又如
    的頭像 發(fā)表于 12-26 17:04 ?1399次閱讀
    芯片設(shè)計(jì)<b class='flag-5'>復(fù)雜度</b>劇增,紫光芯片云 3.0 助力企業(yè)搭建專業(yè)設(shè)計(jì)環(huán)境

    DoIP協(xié)議簡(jiǎn)介及主要功能

    隨著汽車的智能化和網(wǎng)聯(lián)化,車載電子系統(tǒng)的復(fù)雜度不斷增加,對(duì)數(shù)據(jù)通信的帶寬需求越來(lái)越大,通信速度要求也越來(lái)越高。借助于傳統(tǒng)因特網(wǎng)的成熟技術(shù),引入到車載網(wǎng)絡(luò)得以解決當(dāng)前的通信需求,通過(guò)對(duì)傳統(tǒng)以太網(wǎng)的技術(shù)
    的頭像 發(fā)表于 11-13 15:35 ?1677次閱讀
    DoIP協(xié)議<b class='flag-5'>棧</b>簡(jiǎn)介及主要功能

    熱真空試驗(yàn)箱 空間環(huán)境地面模擬試驗(yàn)設(shè)備

    產(chǎn)品用途:空間環(huán)境地面模擬試驗(yàn)設(shè)備用于軍工和航天產(chǎn)品在地面環(huán)境中模擬太空的真空、冷黑和太陽(yáng)輻射的環(huán)境,進(jìn)行熱真空試驗(yàn)和熱平衡試驗(yàn)。空間環(huán)境地面模擬
    的頭像 發(fā)表于 11-01 11:16 ?490次閱讀
    熱真空試驗(yàn)箱 <b class='flag-5'>空間</b>環(huán)境地面<b class='flag-5'>模擬</b>試驗(yàn)設(shè)備

    線程分配惹的禍?系統(tǒng)異常這樣解決!

    ,尤其當(dāng)項(xiàng)目規(guī)模擴(kuò)大、代碼復(fù)雜度增加時(shí),各種“難以捉摸”的bug便會(huì)頻繁出現(xiàn),令工程師們一頭霧水,不知從何入手。這些問(wèn)題可能涉及內(nèi)存管理、任務(wù)調(diào)度、溢出等復(fù)雜內(nèi)
    的頭像 發(fā)表于 10-31 08:08 ?1511次閱讀
    線程<b class='flag-5'>棧</b>分配惹的禍?系統(tǒng)異常這樣解決!

    時(shí)間復(fù)雜度O(n^2) 的排序算法

    作者:京東保險(xiǎn) 王奕龍 對(duì)于小規(guī)模數(shù)據(jù),我們可以選用時(shí)間復(fù)雜度O(n2) 的排序算法。因?yàn)闀r(shí)間復(fù)雜度并不代表實(shí)際代碼的執(zhí)行時(shí)間,它省去了低階、系數(shù)和常數(shù),僅代表的增長(zhǎng)趨勢(shì),所以在小
    的頭像 發(fā)表于 10-19 16:31 ?1676次閱讀
    時(shí)間<b class='flag-5'>復(fù)雜度</b>為 <b class='flag-5'>O</b>(<b class='flag-5'>n</b>^2) 的排序算法

    PCB與PCBA工藝復(fù)雜度的量化評(píng)估與應(yīng)對(duì)措施

    一站式PCBA智造廠家今天為大家講講PCBA工藝復(fù)雜嗎?PCBA工藝的復(fù)雜性應(yīng)對(duì)PCBA工藝復(fù)雜性的措施。在電子制造領(lǐng)域,PCBA工藝是至關(guān)重要的環(huán)節(jié)。盡管對(duì)許多人來(lái)說(shuō),PCBA工藝可能看似復(fù)
    的頭像 發(fā)表于 09-13 09:21 ?793次閱讀

    業(yè)務(wù)復(fù)雜度治理方法論--十年系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

    一、復(fù)雜度綜述 1、什么是復(fù)雜度 軟件設(shè)計(jì)的核心在于降低復(fù)雜性。 --《軟件設(shè)計(jì)的哲學(xué)》 業(yè)界對(duì)于復(fù)雜度并沒(méi)有統(tǒng)一的定義, 斯坦福教授John Ousterhout從認(rèn)知負(fù)擔(dān)和工作量方
    的頭像 發(fā)表于 09-05 14:11 ?1280次閱讀
    業(yè)務(wù)<b class='flag-5'>復(fù)雜度</b>治理<b class='flag-5'>方法</b>論--十年系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

    CISC(復(fù)雜指令集)與RISC(精簡(jiǎn)指令集)的區(qū)別  

    復(fù)雜度, 將復(fù)雜性交給編譯器。舉一個(gè)例子,CISC提供的乘法指令,調(diào)用時(shí)可完成內(nèi)存a和內(nèi)存b中的兩個(gè)數(shù)相乘,結(jié)果存入內(nèi)存a ,需要多個(gè)CPU周期才可以完成;而RISC不提供“一站式”的乘法指令,需
    發(fā)表于 07-30 17:21
    主站蜘蛛池模板: 成在线人永久免费播放视频 | 一区二区三区高清视频在线观看 | 黄色刺激网站 | 在线免费看片 | 亚洲成人三级 | 国产在线一区二区三区四区 | 色多多网站在线观看 | 理论片午午伦夜理片影院99 | 8050午夜一级| 国产女人18毛片水真多18精品 | 免费看va | 特黄特级高清免费视频毛片 | 日韩在线一区二区 | 日本久操视频 | 久操综合 | 特黄特色的大片观看免费视频 | 亚洲久久久 | 国产美女在线观看 | 男女在线视频 | 九色综合伊人久久富二代 | 日本在线观看一区 | 最近在线观看免费完整视频 | 国产在线美女 | 国产精品主播在线 | 欧美日韩国产在线一区 | 久久久久免费观看 | 动漫精品成人免费网站 | 免费一级特黄 欧美大片 | 久久深夜福利 | 欧美一区二区三区激情啪啪 | 色综合天天 | 国产精品好好热在线观看 | 免费xxxx大片| 你懂的网址在线 | 欧美性猛交ⅹxxx乱大交免费 | 亚洲国产精品久久久久婷婷软件 | 91精品啪国产在线观看免费牛牛 | 色老头在线精品视频在线播放 | 亚洲天堂伦理 | 天天干天天操天天做 | 成人午夜亚洲影视在线观看 |