
动态规划
玮智能
电子跨考计算机,发现算法很有天赋,奈何学晚了。
展开
-
857. Minimum Cost to Hire K Workers (O(N·logN)算法解析C++版)
857. 雇佣 K 名工人的最低成本题目难度Hard有 N 名工人。 第 i 名工人的工作质量为 quality[i] ,其最低期望工资为 wage[i] 。现在我们想雇佣 K 名工人组成一个工资组。在雇佣 一组 K 名工人时,我们必须按照下述规则向他们支付工资:对工资组中的每名工人,应当按其工作质量与同组其他工人的工作质量的比例来支付工资。 工资组中的每名工人至少应当得到他们的最...原创 2019-01-25 19:54:18 · 392 阅读 · 0 评论 -
87. 扰乱字符串(Scramble String) LeetCode C++版本
题目:难度Hard(请自行点击链接查看)https://leetcode-cn.com/problems/scramble-string/V2版本的执行时间已经能达到较为理想的结果了。后面只是为了追求更高执行效率。一、分析:由题意:这个“乱序”字符串,是由原字符串任意二叉树分割(每一支至少要有一个字符)成每个叶子只有一个字符,再选择任意多个子节点交换左右子树得到。这操作很明显属于...原创 2019-05-11 02:10:39 · 518 阅读 · 0 评论 -
PAT 1007 Maximum Subsequence Sum (最大子列和) 解法大全及规避坑点 C/C++版
求整数数列的最大子列和(含子列范围)问题:本问题以PAT甲级1007为例:有多种解法,时间复杂度从立方到线性都囊括了。包含如何规避坑点,多种思路求解。如有疑问可在评论区留言。欢迎大牛指正其中不足之处。求解方法包括:以下三条分支暴力定义法(立方时间)----> 累加求和法(平方时间)----> 最值查表法(线性时空) (我第一遍做此题的方法)基于贪心思想动态规划法(线性时...原创 2019-05-16 22:05:30 · 1287 阅读 · 1 评论 -
419. Battleships in a Board 线性时间原地解法 Python版本
419. Battleships in a BoardGiven an 2D board, count how many battleships are in it. The battleships are represented with'X's, empty slots are represented with'.'s. You may assume the following rul...原创 2019-05-23 19:24:36 · 215 阅读 · 0 评论 -
786. 第 K 个最小的素数分数(LeetCode)C++/Python
786. 第 K 个最小的素数分数原题出处:https://leetcode-cn.com/problems/k-th-smallest-prime-fraction/一个已排序好的表A,其包含 1 和其他一些素数.当列表中的每一个 p<q 时,我们可以构造一个分数 p/q 。那么第k个最小的分数是多少呢?以整数数组的形式返回你的答案, 这里answer[0]...原创 2019-06-18 14:35:16 · 990 阅读 · 0 评论 -
1049 数列的片段和 (20 分) PAT乙级 Python3 6行解法
1049数列的片段和(20分)给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这 1...原创 2019-06-24 10:50:17 · 529 阅读 · 0 评论