
数据结构与算法
夹心776655
这个作者很懒,什么都没留下…
展开
-
【leetcode】刷题之二分搜索
1.思路 从数组的中间元素开始,如果中间元素正好是目标值,则搜索结束 如果目标值大于或者小于中间元素,则在大于或者小于中间元素的那一半数组中搜索 /** * @param {number[]} nums * @param {number} target * @return {number} */ var search = function(nums, target) { let low = 0; let high = nums.length - 1; while( lo原创 2021-09-10 09:12:49 · 133 阅读 · 0 评论 -
【数据结构与算法】之01背包问题
背包问题 有一些物品,每种物品有各自的价值和代价,问给定代价之内选一些物品可以得到多少价值 01背包 有N件物品和一个最大重量为V的背包。第i件物品的重量是c[i], 价值是w[i]。求解将哪些物品装入背包可以使背包价值总和最大,每种物品最多只能选一次 动态规划: 时间复杂度: O(NV) 空间复杂度:O(V) dp[i][j]表示只考虑前i件物品,恰好放入一个容量为j的背包可以获得的最大价值 状态转移方程(i从1到N循环, j从0到V循环) dp[i][j] = max(dp[i-1)[j], d原创 2021-02-20 21:41:19 · 1011 阅读 · 0 评论