算法策略
文章平均质量分 71
算法策略
yilyil
勿在浮沙筑高台
展开
-
【上海交大复试失利总结】横向纵横 动态规划
虽然交大复试已经过去5个月了,现在已经在平安工作3个月了。但交大当时复试的场景仍然铭刻在心中,说不定哪天又要再考,所以借此机会把当年写动态规划题目的思路总结下,毕竟当时3道机试算法全是动态规划,属实裂开哈哈哈哈普通递归思路背包最多装6公斤,现有3件物品123重量234价格135求背包能装下的最大价值?首先我们回到小学,把它看成一道智力题,我们会用下图的方法解决。就是从6开始每次都有三个选择,选择后继续用剩下的重量选择,比如6公斤选了1号物品,那么接下原创 2021-10-06 11:30:16 · 1399 阅读 · 1 评论 -
滑动窗口思想
在解决子串或者子数组(要求结果连续的),一般可以想一想活动窗口滑动窗口掌握的核心是:双指针右指针右移:目的是找到满足符合条件的左指针右移:两个目的(压缩+更新+破而后立),首先左移到满足先前那个状态的最小情况(压缩),就可以做更新操作(更新),之后再移动破除当前状态寻找下一个满足条件的状态(破而后立)给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是原创 2021-07-10 10:27:15 · 523 阅读 · 0 评论 -
回溯与DFS
一丶DFS深度优先搜索(Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法二丶回溯法=DFS+剪枝适用于组合数相当大按 [深度优先策略] ,根节点出发搜索空间树,搜索任意节点是否包含问题的解,不包含回溯,否则,继续进行深度优先搜索通过 [剪枝函数] 约束条件 (constraint) 在扩展结点处减去不满足约束的子树;用限界函数(bound)剪去得不到最优解的子树(假如我们只需要最优解的时候用) 避免不必要搜索的穷举式搜索回溯法模板vector<int>原创 2021-07-10 10:26:18 · 2986 阅读 · 0 评论 -
分治法 分治法求解递推式
分治法分治法基本就是下面的三步分(divide):无法有效解决的划分更小的问题治(conquer):递归求每一个子问题的解合(combine):合并解得出原问题解MergeSort:排列1. Divide: trivial2. conquer recursively sort each subarray3. combine two sorted arrays Θ(n)...原创 2019-11-05 17:31:18 · 2583 阅读 · 0 评论