leetcode如何刷題,算法刷題的又一天

 2023-10-20 阅读 14 评论 0

摘要:感覺把刷題筆記寫成了日記,誒呀,這樣一想還挺害羞的呢😊。 其實本來也不是這樣的,剛開始是有好好寫博客,但是比較懶,又不想寫特別正式的。唔,那應該叫隨筆。 但是有點干巴巴的,只有凝練的知識點和我的一些思考痕跡&

感覺把刷題筆記寫成了日記,誒呀,這樣一想還挺害羞的呢😊。

其實本來也不是這樣的,剛開始是有好好寫博客,但是比較懶,又不想寫特別正式的。唔,那應該叫隨筆。

但是有點干巴巴的,只有凝練的知識點和我的一些思考痕跡🙄。

但是后來看有人說,你可以把你的文章注入感情。文字也可以有快樂、難過、激動,所以就想試一下為我的文字也注入當下的感情,和大家交流。所以就有了這個碎碎念,不過好像沒人回過我,嚶😢

好了,回歸正題。到現在為止刷了13道題了,包括今天的兩道(JZ31和JZ30)。下面講一下我的思路

leetcode如何刷題?題目:JZ31 棧的壓入、彈出序列

輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,返回true;但4,3,5,1,2就不可能是該壓棧序列的彈出序列,返回false。

思路:不知道怎么描述,大家看一下最正常的情況下的情況吧,如下:

1,4進入: 棧A:1 隊列B:4

2,5進入: 棧A:1,2 隊列B:4,5

3,3進入: 棧A:1,2,3 隊列B:4,5,3

算法在線刷題網站、4,2進入: 棧A:1,2,3,4 隊列B:4,5,3,2 棧頂和隊列頭一致彈出:A:1,2,3, B:5,3,2

5,1進入: 棧A:1,2,3,5 隊列:5,3,2,1 棧頂和隊列頭一致彈出:......A:1,B:1 再彈就不能彈啦(所以要判空)~

public boolean IsPopOrder(int [] pushA,int [] popA) {List l1 = new ArrayList<>();List l2 = new ArrayList<>();//如果他倆不一樣長肯定是不合適的if (pushA.length!=popA.length) {return false;}for (int i = 0; i < pushA.length; i++) {l1.add(pushA[i]);l2.add(popA[i]);while(l1.size()!=0&&l1.get(l1.size()-1).equals(l2.get(0))) {//棧尾l1.remove(l1.size()-1);//隊列頭l2.remove(0);}}if (l1.size()==0) {return true;}return false;}

題目:JZ30 包含min函數的棧

定義棧的數據結構,請在該類型中實現一個能夠得到棧中所含最小元素的 min 函數,輸入操作時保證 pop、top 和 min 函數操作時,棧中一定有元素。

示例:

輸入: [“PSH-1”,“PSH2”,“MIN”,“TOP”,“POP”,“PSH1”,“TOP”,“MIN”]

刷算法題用什么語言,輸出: -1,2,1,-1

解析:

"PSH-1"表示將-1壓入棧中,棧中元素為-1

"PSH2"表示將2壓入棧中,棧中元素為2,-1

“MIN”表示獲取此時棧中最小元素==>返回-1

"TOP"表示獲取棧頂元素==>返回2

手機刷算法題。"POP"表示彈出棧頂元素,彈出2,棧中元素為-1

"PSH1"表示將1壓入棧中,棧中元素為1,-1

"TOP"表示獲取棧頂元素==>返回1

“MIN”表示獲取此時棧中最小元素==>返回-1

思路:想了很久,最后覺得自己想的太多了。要啥多個鏈表,就一個鏈表完成棧的常規,最小元素遍歷不就好了。

 List<Integer> index = new ArrayList<Integer>();public void push(int node) {index.add(node);}public void pop() {index.remove(index.size()-1);}public int top() {return index.get(index.size()-1);}public int min() {int min = index.get(0);for (int i = 0; i < index.size(); i++) {if (index.get(i)<min) {min = index.get(i);}}return min;}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/150446.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息