上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 32 下一页
摘要: ###1. 深度优先搜索 + 深度优先搜索 > 分析:选择不相邻节点减半价格并最小化价格 > 涉及到图的选择的问题,考虑使用回溯法,选择为当前节点减半或者不减半,并递归搜索相邻节点 > 不过该题首先要知道哪些点走了几次,可以根据路径选择事先用回溯法得到每个点的访问次数 > 然后根据访问次数与价格生成 阅读全文
posted @ 2023-04-16 19:54 失控D大白兔 阅读(10) 评论(0) 推荐(0) 编辑
摘要: ###一. 概述 Dijkstra算法是求一个顶点到其余各顶点的最短路径算法- 迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略 每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止 ###二. 算法流程 1. 建立图的存储结构(邻接矩阵/邻接表) 2. 初始化图 3. 初始 阅读全文
posted @ 2023-04-16 04:06 失控D大白兔 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 政府批准了可以额外建造 k 座供电站,你需要决定这些供电站分别应该建在哪里,这些供电站与已经存在的供电站有相同的供电范围。 给你两个整数 r 和 k ,如果以最优策略建造额外的发电站,返回所有城市中,最小供电站数目的最大值是多少。 ###一. 二分法+前缀和+贪心 > 分析:最大化最小值,首先考虑使 阅读全文
posted @ 2023-04-15 04:18 失控D大白兔 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 1. 图中的最短环 广度优先搜索 class Solution { public: int findShortestCycle(int n, vector<vector<int>> &edges) { vector<vector<int>> g(n);//二维矩阵存储 for (auto &e: e 阅读全文
posted @ 2023-04-12 01:33 失控D大白兔 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等 ###一. 回溯法 ####1. 对每个数,回溯放入子集(球视角) 只关心每个球是否成功放入,球在k个容器中做选择,做出选择后进入下一个状态 class Solution { public: b 阅读全文
posted @ 2022-09-20 10:06 失控D大白兔 阅读(31) 评论(0) 推荐(0) 编辑
摘要: ###1. 灯泡开关I 初始时有 n 个灯泡处于关闭状态,第i轮切换i的倍数位置的开关,直到第n轮切换位置n的灯泡开关,返回n轮后灯泡亮着个数 实际上就是求进行奇数次操作灯泡个数,对第k个灯泡进行操作的轮次为其约数,约数一般成对存在,除非为完全平方数 原问题转换为求1~n的完全平方数个数 retur 阅读全文
posted @ 2022-09-15 01:19 失控D大白兔 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 有 n 名工人, 给定两个数组 quality 和 wage ,其中 quality[i] 表示第 i 名工人的工作质量,其最低期望工资为 wage[i] 现在我们想雇佣 k 名工人组成一个工资组,满足一下条件 1. 对工资组中的每名工人,应当按其工作质量与同组其他工人的工作质量的比例来支付工资。 阅读全文
posted @ 2022-09-11 00:53 失控D大白兔 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 求数组最长摆动子序列长度 ####1. 动态规划 分两种状态进行转移 up[i]表示数组前i个数的最长上升摆动序列长度 down[i]表示数组前i个数的最长下降摆动序列长度 注意比较条件,以及导致状态转移的原因 class Solution { public: int wiggleMaxLength 阅读全文
posted @ 2022-09-03 18:22 失控D大白兔 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则返 阅读全文
posted @ 2022-09-03 15:44 失控D大白兔 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 给你一个整数数组nums ,判断这个数组中是否存在长度为 3 的递增子序列 ####1. 贪心法 贪心更新两个最左端端点 class Solution { public: bool increasingTriplet(vector<int>& nums) { int len = nums.size( 阅读全文
posted @ 2022-09-03 01:49 失控D大白兔 阅读(14) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 32 下一页