Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (南爹摳打)時間1年前 (2024/05/06 13:52), 編輯推噓1(104)
留言5則, 3人參與, 1年前最新討論串192/1548 (看更多)
※ 引述《oinishere (是oin捏)》之銘言: : 思路: : 笑死 : 直接用陣列做monotonic stack : 很白癡可是很簡單 : 只要裡面有一個以上的東西 : 就要改變他們的串接關係 : 然後傳第一個就不用重新全串了 : class Solution { : public: : ListNode* removeNodes(ListNode* head) : { : ListNode* preh = new ListNode(0,head); : vector<ListNode*> paper; : ListNode* n = head; : while(n) : { : while(!paper.empty() && paper[paper.size()-1]->val < n->val) : { : paper.pop_back(); : } : paper.push_back(n); : if(paper.size()>1) : { : paper[paper.size()-2]->next = paper[paper.size()-1]; : } : n = n->next; : } : return paper[0]; : } : }; 想法: 一樣,但沒開array C# code: public class Solution { public ListNode RemoveNodes(ListNode head) { var stack = new Stack<ListNode>(); var current = head; while (current != null) { while (stack.Count != 0 && stack.Peek().val < current.val) { stack.Pop(); } if (stack.Count != 0) { stack.Peek().next = current; } else { head = current; } stack.Push(current); current = current.next; } return head; } } -- (づ′・ω・)づ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.51.52 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1714974724.A.F14.html

05/06 13:54, 1年前 , 1F
我把vector當stack用 結果我好像沒用過stack
05/06 13:54, 1F

05/06 13:56, 1年前 , 2F
噢 我才發現你沒有stack
05/06 13:56, 2F

05/06 13:57, 1年前 , 3F
我忘記c++的stack是linked list還areay 做的
05/06 13:57, 3F

05/06 13:59, 1年前 , 4F
應該是linked list 我剛剛查了一下 stack跟queue被de
05/06 13:59, 4F

05/06 13:59, 1年前 , 5F
que取代
05/06 13:59, 5F
文章代碼(AID): #1cE704yK (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cE704yK (Marginalman)