今天做了几道回溯的题目:字符串转ip地址、有重复数字的全排列、括号生成;
个人总结回溯的题目做的流程是先把每种可能的情况用一棵树画出来,然后把树上不符合题意的情况去掉(剪枝),且注意回溯函数结束的条件。
一般情况,函数返回值为void,函数的参数可以边写函数边填充,然后还有有时候需要注意回溯。但回溯操作有时候不是显示的,比如字符串转ip,因为本身就在遍历字符串,按照字符串的顺序走;括号生成,选择左右括号都是同一层的操作。但全排列需要考虑可以填充的元素是一定的,然后就要注意回溯(pop,push)。感觉这个差别我也还没完全把握,大概就是这个意思。
个人总结回溯的题目做的流程是先把每种可能的情况用一棵树画出来,然后把树上不符合题意的情况去掉(剪枝),且注意回溯函数结束的条件。
一般情况,函数返回值为void,函数的参数可以边写函数边填充,然后还有有时候需要注意回溯。但回溯操作有时候不是显示的,比如字符串转ip,因为本身就在遍历字符串,按照字符串的顺序走;括号生成,选择左右括号都是同一层的操作。但全排列需要考虑可以填充的元素是一定的,然后就要注意回溯(pop,push)。感觉这个差别我也还没完全把握,大概就是这个意思。
全部评论
相关推荐
03-14 12:32
合肥工业大学 Java
无语的斑马破防了:有点像串的,或者说还是在校生。有机会还是去实习亲自感受一下,选方向要考虑行业发展前景和自身职业规划,后端卷归卷,含金量是最高的 点赞 评论 收藏
分享
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。 点赞 评论 收藏
分享
