- 博客(10)
- 收藏
- 关注
原创 重新安排行程问题
可能能得到正确的结果,但是会超时,因为每次都是一个完全的遍历,O(n^tickets.size())的时间复杂度。用treemap来存储同一个起始站的机票,对终点进行排序,这样找到的第一组路径就是最终需要的序列最小的路径。**基于list的回溯:**预先对tickets进行排序,然后就是简单的回溯,
2024-04-28 15:44:00 312 1
原创 N皇后问题
3、用judgeLegal(row, i, n)判断当前位置(row,i)是否满足放置皇后的条件,主要用来判断左斜对角线以及右对角线是否满足,因为调用回溯,所以行不存在冲突的问题,而列冲突的问题在进入for循环时已经进行判断,所以只要判断斜对角线情况就可以了。2、每次调用backtracing表示为一行添加皇后,在backtracing中为皇后选择放置皇后的列col位置,同时用一个全局变量colSetUsed表示之前行也就是之前的backtracing已经使用过的列的情况,方便剪枝。
2024-04-28 15:33:01 381 1
原创 回溯问题中组合问题的个人总结
假如n=4, k=4,那么第一层for循环的时候,从元素2开始的遍历都没有意义了。递归来做层叠嵌套(可以理解是开k层for循环),每一次的递归中嵌套一个for循环,那么递归就可以用于解决多层嵌套循环的问题了。如果不加筛选,最后结果会出现[[1,1,6],[1,2,5],[1,7],[1,2,5],[1,7],[2,6]]这样重复的元素。难点:因为这题数组candidates元素是存在重复的,所以实例1中排序完:[1,1,2,5,6,7,10]k为3可以用三层for,但是k为50,n为100呢?
2024-04-19 14:29:49 342
原创 寻找最近公共祖先问题总结
递归,然后每次先进行左右子节点的递归,用一个found字段来标志是否找到了祖先结点,判断当前结点的左右子树结点是否含有所求的p、q结点,有就将当前root结点存储,并将found设为true后续不在进行ancestor结点的更新,或者当前root结点为所求结点的p或q的其中一个,并且当前root结点还含有所求的另一个p或q结点,这时也可以将found设为true。如果左右都为空就返回null,如果有一个不为空,就返回当前左右不为空的返回值,如果都不为空,就返回当前root。
2024-04-19 14:26:39 246
原创 运行报语法错误: 未预期的文件结尾
给脚本添加可执行权限: chmod -R 777 filename.sh。脚本是windows下写的,然后传到linux下运行的。安装: yum install dos2unix。命令: dos2unix filename。需要给dos文件格式转成unix。
2023-05-05 14:39:34 471
原创 【无标题】
软件工程实践——软件评测这个作业属于哪个课程软件工程实践2022年春-F班这个作业的要求在哪里软件工程实践——软件评测这个作业的目标对问答平台软件进行评测、调研、分析以及提出建议与规划其他参考文献CSDN官网、Stack Overflow主页、SegmentFault文章目录软件工程实践——软件评测bug标准第一部分 调研,评测0.采访1.CSDN问答体验BUG结论2.Stack Overflow体验BUG结论SegmentFault体验BUG结论第二部分 分析
2022-04-08 21:53:58 572
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人