网站备案信息代码在哪里找淄博企业网站建设哪家好
2026/6/9 20:43:52 网站建设 项目流程
网站备案信息代码在哪里找,淄博企业网站建设哪家好,wordpress私信,网站空间管理系统一些回溯的心得也是让我蹭上困难level的题了#xff0c;比较自豪的是截至目前已经尽力把所有问题往二叉树的结构方向靠拢#xff0c;致力于只用一招破题。说白了就是travel中的for循环为当前节点所在层的遍历#xff0c;而for内的travel则是当前节点往下走的延伸。需要注意的…一些回溯的心得也是让我蹭上困难level的题了比较自豪的是截至目前已经尽力把所有问题往二叉树的结构方向靠拢致力于只用一招破题。说白了就是travel中的for循环为当前节点所在层的遍历而for内的travel则是当前节点往下走的延伸。需要注意的点就是针对不同场景要考虑返回值是void还是bool当然我个人还是喜欢voidbool实在难以得心应手要找的方案是只有一个还是若干这都会影响具体代码实现细节比如if中需不需要returnfor每次从哪开始需不需要记录当前index并传参到下一次travel中。最终需要的结果大都是二维vector区别在于内里的vector是什么类型一般是int或者string相比标准解法中的直接在string上操作我更喜欢用vectorint来进行处理最后发现符合需求时再转换成vectorstring并纳入最终res中事实上感觉这种不需要变化太多的处理流程我想称之为范式只需要针对不同场景在细节处仔细斟酌即可大方向都是一个套路下面以N皇后为例N皇后整个代码是比较丝滑地写出来的一气呵成当然也可能因为是上午做的脑袋比较清醒昨晚的安排行程那题就给我做破防了后来怒刷韩剧去了模范出租车还是太爽了看得同为困难却也亦有差距啊从看题到思索再到写出唯一花时间的地方就是判断排兵布阵的合法性最后跑通并对比标准答案后也证实了我这套范式的可行性起码简约且舒适。class Solution { public: bool isR(vectorint dis,int n,int target){ if(dis.empty())return true; if(find(dis.begin(),dis.end(),target)!dis.end()) return false; for(int idis.size()-1;i0;i--){ if(abs(dis[i]-target)dis.size()-i) return false; } return true; } vectorvectorstring res; vectorint dis; void travel(int n){ if(dis.size()n){ string s(n,.); vectorstring sol(n,s); for(int i0;in;i){ sol[i][dis[i]]Q; } res.emplace_back(sol); } for(int i0;in;i){ if(isR(dis,n,i)){ dis.push_back(i); travel(n); dis.pop_back(); } } } vectorvectorstring solveNQueens(int n) { travel(n); return res; } };看完就发现来来回回无非就这么几套满足条件如果复杂就写个isR()函数判断简单就直接在for或者if中判断然后记得travel前后操作保持对称所以有的涉及到重复问题标准答案给的是用used的vector记录我都是懒得整直接最后输出res之后排序然后unique去重之类的。但这些重复的问题在未来肯定会经常碰到都还缺乏对我而言舒适且真正稳固耐用的范式所以之后n刷的时候需要重点考虑。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询