LeetCode双周赛#33 题解】的更多相关文章

5480. 可以到达所有点的最少点数目 #贪心 题目链接 题意 给定有向无环图,编号从0到n-1,一个边集数组edges(表示从某个顶点到另一顶点的有向边),现要找到最小的顶点集合,使得从这些点出发,能够到达图中所有顶点. 样例 输出为[0, 2, 3].从这三个顶点出发即能访问所有顶点. 分析 实际上,只需要将所有入度为0的顶点加入解集即可.因为:1.入度为0的顶点若不加入解集,则除了它以外,没有其他顶点能够沿途访问到它.2.入度不为0的顶点一定能被某个顶点沿途访问到,为了保证解集尽可能小,那…
1540 K次操作转变字符串 #计数 题目链接 题意 给定两字符串\(s\)和\(t\),要求你在\(k\)次操作以内将字符串\(s\)转变为\(t\),其中第\(i\)次操作时,可选择如下操作: 选择字符串\(s\)中满足 \(1 \leq j \leq s.length\) 且之前未被选过的任意下标 \(j\)(下标从1开始),并将此位置的字符恰好切换 \(i\) 次.切换 1 次字符即用字母表中该字母的下一个字母替换它(字母表环状接起来,所以$'z'切换后会变成 \('a'\)). 请记住…
一个坐标可以从 -infinity 延伸到 +infinity 的 无限大的 棋盘上,你的 骑士 驻扎在坐标为 [0, 0] 的方格里. 骑士的走法和中国象棋中的马相似,走 “日” 字:即先向左(或右)走 1 格,再向上(或下)走 2 格:或先向左(或右)走 2 格,再向上(或下)走 1 格. 每次移动,他都可以按八个方向之一前进. 现在,骑士需要前去征服坐标为 [x, y] 的部落,请你为他规划路线. 最后返回所需的最小移动次数即可.本题确保答案是一定存在的. 示例 : 输入:x = , y…
给你一个矩阵 mat,其中每一行的元素都已经按 递增 顺序排好了.请你帮忙找出在所有这些行中 最小的公共元素. 如果矩阵中没有这样的公共元素,就请返回 -1. 示例: 输入:mat = [[,,,,],[,,,,],[,,,,],[,,,,]] 输出: 解法: 暴力解法  就是使用哈希记录每行 然后比较 代码 class Solution { public: unordered_map<]; int smallestCommonElement(vector<vector<int>&…
题目链接 给你一个整数数组 arr 和一个整数值 target . 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target .可能会有多种方案,请你返回满足要求的两个子数组长度和的 最小值 . 请返回满足要求的最小长度和,如果无法找到这样的两个子数组,请返回 -1 . 一个map用来保存从0-index i 的前缀和以及索引 ------mp[前缀和] = 索引 一个dp用来保存不大于目前索引i的最小长度的子数组长度, 如果不存在, 则为maxn 用一个sum做累加, 同时对…
1604. 警告一小时内使用相同员工卡大于等于三次的人 题目链接 题意 给定两个字符串数组keyName和keyTime,分别表示名字为keytime[i]的人,在某一天内使用员工卡的时间(格式为24小时制,"HH:MM").你要找出一小时内使用员工卡大于等于3的人,名字按字典序升序排列.注意,"23:51"-"00:10"不被视为一小时内,因为系统记录的是某一天内的使用情况 分析 给每个人创建一个数组,记录所有的打卡时间,然后将每个人名字字符串…
1589. 所有排列中的最大和 #差分 #贪心 题目链接 题意 给定整数数组nums,以及查询数组requests,其中requests[i] = [starti, endi] .第i个查询求 nums[starti] + nums[starti + 1] + ... + nums[endi - 1] + nums[endi] 的结果 . 你可以任意排列 nums 中的数字,请你返回所有查询结果之和的最大值,请将答案对 109 + 7 取余 后返回. 分析 我们先离线获得需要查询的区间,并统计该…
5492. 分割字符串的方案数 #组合公式 #乘法原理 #区间分割 题目链接 题意 给定01二进制串\(s\),可将\(s\)分割为三个非空 字符串\(s_1,s_2,s_3\),即(\(s_1+s_2+s_3=s\)).现要你求出分割\(s\)的方案数,保证\(s_1,s_2,s_3\)中字符1的数目相同(对\(1e9+7\)取模),他们的长度不一定相等 分析 举个例子,01100011000101串,可以知道三个子串必须包含2个'1',我们观察到左子串的界限,可以如下划分:011|00011…
突然很想刷刷题,LeetCode是一个不错的选择,忽略了输入输出,更好的突出了算法,省去了不少时间. dalao们发现了任何错误,或是代码无法通过,或是有更好的解法,或是有任何疑问和建议的话,可以在对应的随笔下面评论区留言,我会及时处理,在此谢过了. 过程或许会很漫长,也很痛苦,慢慢来吧. 编号 题名 过题率 难度 1 Two Sum 0.376 Easy 2 Add Two Numbers 0.285 Medium 3 Longest Substring Without Repeating C…
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - Leetcode 10. 正则表达式匹配 - 题解 LeetCode 10. Regular Expression Matching 在线提交 分析 克莱尼星号(算子) 定义及标记法 例子 推广 方法1:递归 方法2:动态规划 在线提交 https://leetcode.com/problems/re…