}
void push(int val) {
res.push(val);
if(!st.size()||st.top()>=val) st.push(val);
}
void pop() {
if(st.size()&&res.top()==st.top()) st.pop();
res.pop();
}
int top() {
return res.top();
}
int getMin() {
return st.top();
}
};
1.题目描述
原题链接:1249. 移除无效的括号
2.解题思路
用一个栈存入(
的位置,用一个bool
数组标记哪些位置的括号是无效的。
从左遍历字符串:
-
如果是
(
则将其标记为true
,并将其下标加入栈 -
如果是
)
,检查栈中有木有(
: -
如果有说明当前两个括号匹配,将栈顶的
(
的标记改为false
,并且出栈。 -
如果栈为空,也就是不存在
(
与当前)
匹配,标记)
当前下标为true
-
最后遍历数组,只累加标记为
false
的字符
3.代码
class Solution {
public:
string minRemoveToMakeValid(string s) {
int n=s.size();
stack st;
vector f(n+1,false);
for(int i=0;i<n;i++){
if(s[i]==‘(’){
st.push(i);
f[i]=true;
}else if(s[i]==‘)’){
if(st.size()){
int t=st.top();
st.pop();
f[t]=false;
}else{
f[i]=true;
}
}
}
string res=“”;
for(int i=0;i<n;i++){
if(!f[i]) res+=s[i];
}
return res;
}
};
1.题目描述
原题链接:1823. 找出游戏的获胜者
2.解题思路
用队列模拟即可。
每次队头出k-1个元素从队尾入,第k个元素直接出队,模拟n-1次,最后留在队列的元素就是获胜者。
3.代码
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
感受:
其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。
特别感谢一面的面试官捞了我,给了我机会,同时也认可我的努力和态度。对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。
也祝愿各位同学,都能找到自己心动的offer。
分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
/forums/4304bb5a486d4c3ab8389e65ecb71ac0)
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算