力扣刷题系列
今天也要学习哦
浙江大学硕士研究生
展开
-
并查集相关算法题
目录1.朋友圈2.冗余连接3.冗余连接II4.句子相似性II5.等式方程的可满足性6.联通网络的操作次数7.按公因数计算最大组件的大小1.朋友圈(力扣547)班上有N名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B的朋友,B 是 C的朋友,那么我们可以认为 A 也是 C的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个N * N的矩阵M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j...原创 2020-09-20 16:58:40 · 880 阅读 · 1 评论 -
力扣刷题系列——字符串相关
字符串相关算法题1.有效的字母异位词力扣242:https://leetcode-cn.com/problems/valid-anagram/description/给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例1:输入: s = "anagram", t = "nagaram" 输出: true示例 2:输入: s = "rat", t = "car" 输出: false题解:可以用 HashMap 来映射字符与出现次数,然后比较两个.原创 2020-08-30 21:11:58 · 449 阅读 · 0 评论 -
力扣刷题系列——数组与矩阵
数组与矩阵相关算法题1.移动零力扣283:https://leetcode-cn.com/problems/move-zeroes/description/给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12] 输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。代码实现:public void moveZeroes(int[] nums) {原创 2020-08-30 17:43:50 · 465 阅读 · 0 评论 -
力扣刷题系列——贪心思想II
贪心算法及经典例题(二)1.分发饼干力扣455:https://leetcode-cn.com/problems/assign-cookies/假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj。如果 sj >= gi,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数...原创 2020-08-27 15:47:58 · 1764 阅读 · 0 评论 -
力扣刷题系列——贪心思想I
贪心算法及经典例题(一)以下内容参考于:https://www.jianshu.com/p/d69229f0bc99与https://blog.csdn.net/qq_15054345/article/details/89514163,仅作为个人日后复习查阅。贪心贪心算法总是作出在当前看来最好的选择,也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。只有在满足最优子结构的情况下贪心算法得到的结果才是最优结果。比如找钱的问题,我要给你一百,那么我尽可能每..转载 2020-08-27 15:12:54 · 368 阅读 · 0 评论 -
力扣刷题系列——回溯算法II
回溯算法思想及经典例题(二)Backtracking(回溯)属于 DFS。普通 DFS 主要用在可达性问题,这种问题只需要执行到特点的位置然后返回即可。 而 Backtracking 主要用于求解排列组合问题,例如有 { 'a','b','c' } 三个字符,求解所有由这三个字符排列得到的字符串,这种问题在执行到特定的位置返回之后还会继续执行求解过程。因为 Backtracking 不是立即返回,而要继续求解,因此在程序实现时,需要注意对元素的标记问题:在访问一个新元素进入新的递归调...原创 2020-08-25 21:22:26 · 451 阅读 · 0 评论 -
力扣刷题系列——回溯算法I
回溯算法思想及经典例题(一)回溯法可以提前看看公众号文章:https://mp.weixin.qq.com/s/g5uvxi1lyxmWC4LtP0Bdlw(从二叉树遍历到回溯算法,包含例题:二叉树路径和等于给定目标值的路径(力扣113)、集合的所有子集合列表(力扣78))1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到...原创 2020-08-25 20:33:26 · 1241 阅读 · 0 评论 -
力扣刷题系列——分治算法
分治法的基本思想及算法题分治法1.基本思想(1) 将求解的较大规模的问题分割成k个更小规模的子问题。(2) 对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。(3) 将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。2.适用条件分治法所能解决的问题一般具有以下几个特征:I.该问题的规模缩小到一定的程度就可以容易地解决;II.该问题可以分...原创 2020-08-25 17:08:47 · 983 阅读 · 0 评论 -
力扣刷题系列——BFS和DFS
BFS与DFS相关算法题BFS广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历算法这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。基本过程,BFS是从根节点开始,沿着树(图)的宽度遍历树(图)的节点。如果所有节点均被访问,则算法中原创 2020-08-25 15:28:56 · 2245 阅读 · 0 评论 -
力扣刷题系列——动态规划II
常见的动态规划问题(二)本文转载于GitHub地址:https://github.com/CyC2018/CS-Notes/,仅作为个人日后复习。整合了多方面的资料,侵删。引例解析:内容来源于公众号文章:https://mp.weixin.qq.com/s/lKQI0aS1MBwfPujC-m_zkA运用动态规划四部曲来进行解答://解法一public int coinChange(int[] coins, int amount) { // 子问题: ...转载 2020-08-19 19:41:18 · 1566 阅读 · 0 评论 -
力扣刷题系列——动态规划I
常见的动态规划问题本文转载于GitHub地址:https://github.com/CyC2018/CS-Notes/,仅作为个人日后复习。Dynamaic Programming定义:动态规划是运筹学中用于求解决策过程中的最优化数学方法。作为算法设计技术,是一种使用多阶段决策过程最优的通用方法。是解决最优化问题的重要工具。动态规划的特性:无后效性 最优子结构如何设计DP动态规划的本质,是对问题状态的定义和状态转移方程的定义1.设计状态,实现状态的定义 2.找到状态原创 2020-08-17 22:34:05 · 2228 阅读 · 0 评论 -
力扣刷题系列——贪心思想
贪心思想常见算法题以下内容为从GitHub中转载而来,仅供个人日后复习之用,GitHub仓库地址:https://github.com/CyC2018/CS-Notes。贪心思想:保证每次操作都是局部最优的,并且最后得到的结果是全局最优的。1.分配饼干455. Assign Cookies (Easy)假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j .转载 2020-08-15 20:45:55 · 511 阅读 · 0 评论 -
力扣刷题系列——位运算篇
几道常见的位运算算法题以下均为接触的力扣原题,作一个总结,以便日后复习。1.不用加号的加法设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。示例:输入: a = 1, b = 1输出: 2提示: 1)a,b均可能是负数或 0 2)结果不会溢出 32 位整数关键点:1、 a^b 计算没有进位的加法结果 2、 a&b 计算所有进位的位,左移再亦或就是进一位的结果,以此类推代码实现:class Solution { public...原创 2020-08-14 22:16:09 · 1312 阅读 · 0 评论 -
力扣刷题系列——数学问题篇
常见的数学相关算法题以下算法题均为力扣原题,对日常刷题过程中遇到的相关算法题作一个归纳,以便日后复习之用。1.x的平方根实现int sqrt(int x)函数。计算并返回x的平方根,其中x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842...,由于返回类型是整数,小数部分将被舍去。代码实现:class Solution {...原创 2020-08-14 19:31:05 · 951 阅读 · 0 评论