全AC携程9.4后端开发岗位


#携程##leetcode##笔试题目##秋招##面经#
全部评论
#include<iostream> #include<stack> #include<string> #include<algorithm> using namespace std; stack<int> a; int main() {     string s="a(bc(de(123))(fg)hi)jk";     int length=s.size();     for(int i=0;i<length;i++)     {         if(s[i]=='(')             a.push(i);         else if(s[i]==')')         {             reverse(s.begin()+a.top(),s.begin()+i);             a.pop();         }     }     //cout<<s<<endl;     cout<<"**********************************"<<endl;     string f;     for(int i=0;i<length;i++)     {         if(s[i]!='('&& s[i]!=')')         {             f+=s[i];         }     }     if(a.empty())         cout<<f<<endl;     else         cout<<"不匹配!\n";     return 0; } 帮忙看一下我的为什么不能全部ac呢?
点赞 回复 分享
发布于 2019-09-05 09:49
第一题超时 我都看不懂了
点赞 回复 分享
发布于 2019-09-05 08:12
楼主,第三题dp是不是不能AC?
点赞 回复 分享
发布于 2019-09-04 23:59
携程后端有c++岗啊……我看官网只有移动端招c++投了移动端😳
点赞 回复 分享
发布于 2019-09-04 23:32

相关推荐

1.&nbsp;display:&nbsp;none&nbsp;和&nbsp;visibility:&nbsp;hidden&nbsp;的区别•&nbsp;渲染层面:◦&nbsp;display:&nbsp;none:元素完全从渲染树移除,不占据空间(回流+重绘)。◦&nbsp;visibility:&nbsp;hidden:元素仍在渲染树中,占据空间但不可见(仅重绘)。•&nbsp;子元素影响:◦&nbsp;display:&nbsp;none:子元素也会被隐藏。◦&nbsp;visibility:&nbsp;hidden:子元素可通过&nbsp;visibility:&nbsp;visible&nbsp;单独显示。2.&nbsp;三列布局(两边固定,中间自适应)方案1:Flex&nbsp;布局.container&nbsp;{&nbsp;display:&nbsp;flex;&nbsp;}.left,&nbsp;.right&nbsp;{&nbsp;width:&nbsp;200px;&nbsp;}.center&nbsp;{&nbsp;flex:&nbsp;1;&nbsp;}方案2:Calc&nbsp;计算.center&nbsp;{&nbsp;width:&nbsp;calc(100%&nbsp;-&nbsp;400px);&nbsp;margin:&nbsp;0&nbsp;200px;&nbsp;}方案3:绝对定位&nbsp;+&nbsp;margin.container&nbsp;{&nbsp;position:&nbsp;relative;&nbsp;}.left,&nbsp;.right&nbsp;{&nbsp;position:&nbsp;absolute;&nbsp;width:&nbsp;200px;&nbsp;}.center&nbsp;{&nbsp;margin:&nbsp;0&nbsp;200px;&nbsp;}3.&nbsp;闭包•&nbsp;定义:函数内部引用外部作用域变量,且变量在外部作用域释放后仍被保留。•&nbsp;作用:实现私有变量、函数防抖/节流等。•&nbsp;注意:过度使用可能导致内存泄漏。4.&nbsp;React&nbsp;状态管理方案及区别方案&nbsp;特点**&nbsp;useState**&nbsp;组件级状态,适合简单逻辑。**&nbsp;useContext**&nbsp;跨组件状态,适合全局轻量级状态(避免逐层传递&nbsp;props)。**&nbsp;Zustand**&nbsp;轻量级全局状态管理,基于&nbsp;Context&nbsp;+&nbsp;immer,支持订阅和模块化。**&nbsp;Redux**&nbsp;复杂全局状态管理,需手动配置&nbsp;reducer、action&nbsp;等,适合大型应用。5.&nbsp;虚拟列表实现•&nbsp;核心原理:仅渲染可见区域内的列表项,通过滚动事件动态计算并更新显示内容。•&nbsp;关键步骤:1.&nbsp;计算可见区域起始索引和结束索引。2.&nbsp;渲染对应索引的列表项。3.&nbsp;通过&nbsp;transform&nbsp;或&nbsp;padding&nbsp;模拟滚动位置,保持滚动条正常显示。6.&nbsp;React&nbsp;性能优化•&nbsp;组件优化:◦&nbsp;使用&nbsp;React.memo&nbsp;缓存函数组件,避免无必要重渲染。◦&nbsp;useCallback&nbsp;缓存回调函数,避免子组件因引用变化重渲染。•&nbsp;状态优化:◦&nbsp;避免在&nbsp;useState&nbsp;中存储不必要的状态(如临时计算值)。◦&nbsp;使用&nbsp;useReducer&nbsp;处理复杂状态逻辑,减少重复更新。•&nbsp;其他:◦&nbsp;虚拟列表/表格(长列表优化)。◦&nbsp;懒加载(React.lazy&nbsp;+&nbsp;Suspense)。◦&nbsp;避免内联函数在渲染中重复创建。7.&nbsp;React&nbsp;的状态(补充常见问题)•&nbsp;状态更新异步性:◦&nbsp;合成事件和生命周期中,setState&nbsp;异步更新,需通过回调获取最新值。◦&nbsp;原生事件(如&nbsp;setTimeout)中,setState&nbsp;同步更新。•&nbsp;状态穿透问题:◦&nbsp;多层组件传递状态时,可用&nbsp;useContext&nbsp;或状态管理库简化。8.&nbsp;代码题:生成有效括号组合(回溯法)var&nbsp;generateParenthesis&nbsp;=&nbsp;(n)&nbsp;=&amp;gt;&nbsp;{const&nbsp;res&nbsp;=&nbsp;[];const&nbsp;backtrack&nbsp;=&nbsp;(path,&nbsp;left,&nbsp;right)&nbsp;=&amp;gt;&nbsp;{if&nbsp;(path.length&nbsp;===&nbsp;2&nbsp;*&nbsp;n)&nbsp;res.push(path);if&nbsp;(left&nbsp;&amp;lt;&nbsp;n)&nbsp;backtrack(path&nbsp;+&nbsp;'(',&nbsp;left&nbsp;+&nbsp;1,&nbsp;right);if&nbsp;(right&nbsp;&amp;lt;&nbsp;left)&nbsp;backtrack(path&nbsp;+&nbsp;')',&nbsp;left,&nbsp;right&nbsp;+&nbsp;1);};backtrack('',&nbsp;0,&nbsp;0);return&nbsp;res;};思路:通过回溯法枚举所有可能,用&nbsp;left&nbsp;和&nbsp;right&nbsp;控制左右括号数量,确保任意时刻&nbsp;right&nbsp;≤&nbsp;left&nbsp;且总数不超过&nbsp;n。
点赞 评论 收藏
分享
评论
4
57
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务