草庐IT

LeetCode刷题之树

全部标签

Leetcode.322-零钱兑换(最大/小型动态规划)

322.零钱兑换目录第一步:确定状态第二步:确定初始状态和边界条件第三步:计算顺序递归的计算问题代码思路动态规划适用于:最大/小值,可不可行,计数问题这类集中场景本题,求解是否可以由指定面值的硬币完成兑换且统计最少需要的硬币的数量,可以使用动态规划来求解。动态规划 -子问题状态的定义 -状态转移方程 -整个问题的初始状态 -问题的边界条件第一步:确定状态动态规划是可以将大问题分解成子问题,利用子问题的结果来求解大问题,所以首先要确定状态。要从问题的最后一步和子问题的角度开始思考如果能完全找零,那么假设最后一个找零的硬币的面值为k,则问题由找出11金额的最少硬币数量的问题,变成找出11-k的最少

每天一道leetcode:1129. 颜色交替的最短路径(图论&中等&广度优先遍历)

今日份题目:给定一个整数n,即有向图中的节点数,其中节点标记为0到n-1。图中的每条边为红色或者蓝色,并且可能存在自环或平行边。给定两个数组redEdges和blueEdges,其中:redEdges[i]=[ai,bi]表示图中存在一条从节点ai到节点bi的红色有向边,blueEdges[j]=[uj,vj]表示图中存在一条从节点uj到节点vj的蓝色有向边。返回长度为n的数组answer,其中answer[X]是从节点0到节点X的红色边和蓝色边交替出现的最短路径的长度。如果不存在这样的路径,那么answer[x]=-1。示例1输入:n=3,red_edges=[[0,1],[1,2]],bl

LeetCode46全排列(回溯入门)

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos题目描述难度:中等给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案示例1输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例2输入:nums=[0,1]输出:[[0,1],[1,0]]示例3输入:nums=[1]输出:[[1]]个人回溯和46题的理解在很多刷题文章和书籍中,此题都被用做回溯算法的第一题,可见该题很有代表性,搞定此题意味

【leetcode刷题】--- 我遇到一道很坏很坏的题~

🔥系列专栏:【Leetcode】刷题与总结目录前言题目普通解法🌱思路一🌱思路二其他解法🌱思路三🌱思路四写在最后前言今天在Leetcode上刷题,看到一道题很有趣。我乍一看,没有思路,但是仔细想了想,还是没思路。。。。哈哈,开个玩笑。当我写出后解法后,系统老是提醒超出时间限制,太难了,努力想了好久,优化解法后终于通过了!还挺有成就感。后来在官方的解法中,我又学到了其他的解题方法,解题的思路非常棒,所以就有了这篇文章,想和大家分享一下。题目✨描述:给定一个数组height,数组里有n个非负整数每个元素都表示一个宽度为1的柱子的高度现在让我们来计算按此排列的柱子,下雨之后能接多少雨水。🔋例如:输入:

leetcode刷题之消失的数字(超详解刷爆力扣)

大家好啊,我是小生啊🙈🙈🙈从今天开始小生将会和大家一起刷题,从今天开始小生也会开辟新的专栏。😜😜😜下一篇比这篇质量高多啦,哈哈,大家快来看啦~~~多种方法刷爆力扣———轮转数组🥳🥳🥳.🌞🌞🌞让我们多种方法解题练习,刷爆力扣,冲冲冲力扣练习:消失的数字🏃🏃🏃一.🏠题目描述二.🏠题目分析三.🏠解决方法1.🚀思路一:先排序再查找2.🚀思路二:逆推相减3.🚀思路三:异或运算求解四.🏠代码实现1.🚀方法一代码详解2.🚀方法二代码详解五.🏠结语一.🏠题目描述兄弟们,废话不多说直接看题:🙉🙉🙊示例1:输入:[3,0,1]输出:2示例2:输入:[9,6,4,2,3,5,7,0,1]输出:8二.🏠题目分析这道题

(排序) 剑指 Offer 45. 把数组排成最小的数 ——【Leetcode每日一题】

❓剑指Offer45.把数组排成最小的数难度:中等输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例1:输入:[10,2]输出:“102”示例2:输入:[3,30,34,5,9]输出:“3033459”提示:0说明:输出结果可能非常大,所以你需要返回一个字符串而不是整数拼接起来的数字可能会有前导0,最后结果不需要去掉前导0💡思路:可以看成是一个排序问题,在比较两个字符串s1和s2的大小时,应该比较的是s1+s2和s2+s1的大小:如果s1+s2,那么应该把s1排在前面,否则应该把s2排在前面。总体流程:初始化:字符串列表strs,保存各数字的字符

Leetcode:【448. 找到所有数组中消失的数字】题解

题目给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1,n] 内。请你找出所有在 [1,n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。难度:简单题目链接:448.找到所有数组中消失的数字示例1输入:nums=[4,3,2,7,8,2,3,1]输出:[5,6]示例2输入:nums=[1,1]输出:[2]解题思路:题目意思是再在有n个元素的数组中,找出[1,n]中没有出现的数组,其中n个元素中,可能会出现重复的元素,于是我们就可以再次创建一个临时数组tmp(每个元素置0),存放相应的元素来取消重复的元素。然后遍历整个数组,如果元素为零,则为没有出现

程序员成长加速器!推荐6款刷题网站,让你的代码功力更上一层楼!

作为程序员,刷题是提升编程能力和解决问题能力的重要途径之一。通过刷题,我们可以锻炼自己的逻辑思维、算法设计和编码能力。下面是我为您推荐的6款程序员刷题的网站,它们提供了丰富的题库和各种刷题功能,无论您是想在面试中脱颖而出,还是想提升自己的编程技能,都能在这些网站上找到适合自己的题目,提升自己的编程水平。一、力扣LeetCode图片领扣网络(上海)有限公司是一家专注程序员技术提升和企业技术人才服务的科技公司。旗下品牌力扣(LeetCode)源自美国硅谷,为全球程序员提供了专业的IT技术职业化提升平台,有效帮助程序员实现快速进步和长期成长。同时,力扣(LeetCode)也致力于解决程序员技术评估、

【LeetCode周赛】2022上半年题目精选集——动态规划

文章目录2140.解决智力问题解法1——倒序DP(填表法)解法2——正序DP(刷表法)⭐⭐⭐2167.移除所有载有违禁货物车厢所需的最少时间⭐⭐⭐解法1——前缀和⭐⭐⭐⭐⭐解法2——前后缀分解+动态规划代码1——看了思路之后自己写的代码2——代码1的优化(一次遍历)⭐2172.数组的最大与和(状态压缩DP)⭐⭐⭐⭐⭐思路代码补充:相似题目——1879.两个数组最小的异或值之和⭐⭐⭐2188.完成比赛的最少时间⭐⭐⭐⭐⭐思路——结合性质巧妙线性DP(预处理每种圈数的最短时间+动态规划)代码2209.用地毯覆盖后的最少白色砖块⭐⭐⭐⭐⭐思路——考虑是否使用第i条地毯且其末尾覆盖第j块板砖代码221

牛客前端刷题(四)——微信小程序篇

还在担心面试不通过吗?给大家推荐一个超级好用的刷面试题神器:牛客网,里面涵盖了各个领域的面试题库,还有大厂真题哦!赶快悄悄的努力起来吧,不苒在这里衷心祝愿各位大佬都能顺利通过面试。面试专栏分享,感觉有用的小伙伴可以点个订阅,不定时更新相关面试题:面试专栏。文章目录🍉正文微信小程序1、微信小程序是单页应用吗2、小程序的开发,发送一个请求,怎么请求数据的3、小程序中数据怎么同步渲染4、微信小程序组件的生命周期5、定义生命周期的方法6、小程序rpx单位