随笔分类 -  Algorithm-1.5动态规划专题

动态规划专题练习
摘要:Alice 和 Bob 共有一个无向图,其中包含 n 个节点和 3 种类型的边: 类型 1:只能由 Alice 遍历。 类型 2:只能由 Bob 遍历。 类型 3:Alice 和 Bob 都可以遍历。 给你一个数组 edges ,其中 edges[i] = [typei, ui, vi] 表示节点 阅读全文
posted @ 2021-01-27 08:47 He_LiangLiang 阅读(119) 评论(0) 推荐(0) 编辑
摘要:学习并查集,这是第1篇,后续会继续补上若干文章。 先看代码: #include <iostream> #include <vector> using namespace std; class UnionFind { private: int count; //连通分量个数 vector<int> p 阅读全文
posted @ 2021-01-19 09:15 He_LiangLiang 阅读(66) 评论(0) 推荐(0) 编辑
摘要:1143. 最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"ace" 是 "abcde" 的 阅读全文
posted @ 2020-12-31 09:05 He_LiangLiang 阅读(185) 评论(0) 推荐(0) 编辑
摘要:300. 最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 输入:nums = [10,9,2, 阅读全文
posted @ 2020-12-28 08:58 He_LiangLiang 阅读(151) 评论(0) 推荐(0) 编辑
摘要:309. 最佳买卖股票时机含冷冻期 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买 阅读全文
posted @ 2020-12-22 09:06 He_LiangLiang 阅读(85) 评论(0) 推荐(0) 编辑
摘要:121. 买卖股票的最佳时机 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 阅读全文
posted @ 2020-12-22 08:47 He_LiangLiang 阅读(102) 评论(0) 推荐(0) 编辑
摘要:题目地址: https://leetcode-cn.com/problems/coin-change/ 322. 零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为 阅读全文
posted @ 2020-12-22 08:24 He_LiangLiang 阅读(124) 评论(0) 推荐(0) 编辑
摘要:《程序员代码面试指南--IT名企算法与数据结构题目最优解》 左程云 著 最长递增子序列 【题目】给定数组arr,返回arr的最长递增子序列 【举例】arr=[2,1,5,3,6,4,8,9,7],返回的最长递增子序列为[1,3,4,8,9] 【要求】如果arr长度为N,请实现时间复杂度为O(Nlog 阅读全文
posted @ 2020-01-03 16:09 He_LiangLiang 阅读(737) 评论(0) 推荐(0) 编辑
摘要:《程序员代码面试指南--IT名企算法与数据结构题目最优解》 左程云 著 打气球的最大分数 【题目】给定一个数组arr,代表一排有分数的气球。每打爆一个气球都能获得分数,假设打爆气球的分数为X,获得分数的规则如下:1)如果被打爆气球的左边有没有被打爆的气球,找到离被打爆气球最近的气球,假设分数为L;如 阅读全文
posted @ 2020-01-01 10:29 He_LiangLiang 阅读(750) 评论(0) 推荐(0) 编辑
摘要:《程序员代码面试指南--IT名企算法与数据结构题目最优解》 左程云 著 换钱的方法数 【题目】给定数组arr, arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim,代表要找的钱数,求换钱有多少种方法。 【举例】arr=[5,10,25,1] 阅读全文
posted @ 2019-12-29 20:13 He_LiangLiang 阅读(590) 评论(0) 推荐(0) 编辑
摘要:《程序员代码面试指南--IT名企算法与数据结构题目最优解》 左程云 著 机器人到达指定位置方法数 【题目】假设有排成一行的N个位置,记为1~N,N一定大于或等于2。开始时机器人在其中的M位置上(M一定是1~N中的一个),机器人可以往左走或者往右走,如果机器人来到1位置,那么下一步只能往右来到2位置; 阅读全文
posted @ 2019-12-20 16:03 He_LiangLiang 阅读(1226) 评论(0) 推荐(0) 编辑
摘要:《程序员代码面试指南--IT名企算法与数据结构题目最优解》 左程云 著 换钱的最少货币数 【题目】 给定数组arr, arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim,代表要找的钱数,求组成aim的最少货币数。 【举例】arr=[5,2, 阅读全文
posted @ 2019-12-18 12:16 He_LiangLiang 阅读(1191) 评论(0) 推荐(0) 编辑
摘要:《程序员代码面试指南--IT名企算法与数据结构题目最优解》 左程云 著 矩阵的最小路径和 【题目】给定一个矩阵m,从左上角开始每次只能向右或者向下走,最后到达右下角位置,路径上所有的数字累加起来就是路径和,返回所有路径中最小的路径和。 【举例】如果给定的m如下:1 3 5 98 1 3 45 0 6 阅读全文
posted @ 2019-12-17 14:28 He_LiangLiang 阅读(1048) 评论(0) 推荐(0) 编辑
摘要:《程序员代码面试指南--IT名企算法与数据结构题目最优解》 左程云 著 斐波拉契数列问题的递归和动态规划 【题目】:给定整数N,返回斐波拉契数列的第N项。补充问题1:给定整数N,代表台阶数,一次可以跨2个或者1个台阶,返回有多少种走法。补充问题2:假设农场中成熟的母牛每年只会生产1头小母牛,并且永远 阅读全文
posted @ 2019-12-17 12:35 He_LiangLiang 阅读(381) 评论(0) 推荐(0) 编辑