Strut 2.0框架开发指南:从环境搭建到实战应用
2026/7/19 3:23:45
栈和队列的面试题通常不是在考数据结构本身,而是考如何用它们解决实际问题。
classMinStack{privateStack<Integer>dataStack;privateStack<Integer>minStack;publicMinStack(){dataStack=newStack<>();minStack=newStack<>();}publicvoidpush(intval){dataStack.push(val);if(minStack.isEmpty()||val<=minStack.peek()){minStack.push(val);}}publicvoidpop(){if(dataStack.pop().equals(minStack.peek())){minStack.pop();}}publicinttop(){returndataStack.peek();}publicintgetMin(){returnminStack.peek();}}publicbooleanisValid(Strings){Stack<Character>stack=newStack<>();for(charc:s.toCharArray()){if(c=='('||c=='['||c=='{'){stack.push(c);}else{if(stack.isEmpty())returnfalse;chartop=stack.pop();if(c==')'&&top!='(')returnfalse;if(c==']'&&top!='[')returnfalse;if(c=='}'&&top!='{')returnfalse;}}returnstack.isEmpty();}publicint[]maxSlidingWindow(int[]nums,intk){if(nums.length==0)returnnewint[0];int[]result=newint[nums.length-k+1];Deque<Integer>deque=newArrayDeque<>();for(inti=0;i<nums.length;i++){while(!deque.isEmpty()&&nums[deque.peekLast()]<nums[i]){deque.pollLast();}deque.offerLast(i);if(deque.peekFirst()<=i-k){deque.pollFirst();}if(i>=k-1){result[i-k+1]=nums[deque.peekFirst()];}}returnresult;}💡 觉得有用的话,点赞 + 关注【张老师技术栈】吧!