草庐IT

LeetCode刷题之树

全部标签

每天一道leetcode:542. 01 矩阵(图论&中等&广度优先遍历)

今日份题目:给定一个由0和1组成的矩阵mat,请输出一个大小相同的矩阵,其中每一个格子是mat中对应位置元素到最近的0的距离。两个相邻元素间的距离为1。示例1输入:mat=[[0,0,0],[0,1,0],[0,0,0]]输出:[[0,0,0],[0,1,0],[0,0,0]]示例2输入:mat=[[0,0,0],[0,1,0],[1,1,1]]输出:[[0,0,0],[0,1,0],[1,2,1]]提示m==mat.lengthn==mat[i].length11mat[i][j]iseither0or1.mat中至少有一个0题目思路找到距离当前位置最近的0,有两种思路,要么从0开始找1,要

每天一道leetcode:剑指 Offer 34. 二叉树中和为某一值的路径(中等&图论&深度优先遍历&递归)

今日份题目:给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。叶子节点是指没有子节点的节点。示例1输入:root=[5,4,8,11,null,13,4,7,2,null,null,5,1],targetSum=22输出:[[5,4,11,2],[5,8,4,5]]示例2输入:root=[1,2,3],targetSum=5输出:[]示例3输入:root=[1,2],targetSum=0输出:[]提示树中节点总数在范围[0,5000]内-1000-1000题目思路使用递归深度优先遍历,使用前序遍历,在遍历途中,记录路径,如果

LeetCode #1235 Maximum Profit in Job Scheduling 规划兼职工作

1235MaximumProfitinJobScheduling规划兼职工作Description:Wehavenjobs,whereeveryjobisscheduledtobedonefromstartTime[i]toendTime[i],obtainingaprofitofprofit[i].You'regiventhestartTime,endTimeandprofitarrays,returnthemaximumprofityoucantakesuchthattherearenotwojobsinthesubsetwithoverlappingtimerange.Ifyouchoo

鸿蒙OS的下一个版本:生命之树初长成的AI

随着科技的不断进步,人工智能(AI)在各个领域都发挥着越来越重要的作用。作为一个引领技术发展的先锋,鸿蒙OS在不断推进创新,为用户带来更强大的功能和更智能的体验。在鸿蒙OS的下一个版本中,我们将见证生命之树初长成的AI的诞生,为用户带来前所未有的便利和乐趣。一、生命之树初长成的AI概述生命之树初长成的AI是鸿蒙OS的下一个重要创新,它基于人工智能技术,并结合了鸿蒙生态系统的优势,为用户提供更加智能、个性化的服务。这个AI系统不仅具备强大的学习和推理能力,还能够与用户进行自然而流畅的对话,并根据用户的需求和偏好提供个性化的建议和解决方案。二、生命之树初长成的AI的源代码示例为了更好地理解生命之树

leetcode刷题(字符串相加、包含每个查询的最小区间、模拟行走机器人、环形子数组的最大和、满足不等式的最大值、四数之和、树中距离之和)

目录1、字符串相加2、包含每个查询的最小区间3、模拟行走机器人4、环形子数组的最大和5、满足不等式的最大值6、四数之和7、树中距离之和1、字符串相加classSolution:defaddStrings(self,num1:str,num2:str)->str:i=len(num1)-1#num1的末位j=len(num2)-1#num2的末位carry=0#进位位res=""#最终的结果字符串whilei>=0orj>=0:#只要有一个数字还没处理完,就得继续处理,因为是所有和#如果其中一个数字当前处理位已经超过最高位了(索引小于0),参与计算值的为0,即相当于高位补零#每一位的结果等于两个

LeetCode题解-让所有学生保持开心的分组方法数

⭐简单说两句⭐作者:后端小知识CSDN个人主页:后端小知识🔎GZH:后端小知识🎉欢迎关注🔎点赞👍收藏⭐️留言📝亲爱的各位友友们,今天来给大家讲解一道力扣中等题,废话不多说,接下面我就浅浅分析下这个题吧,我一定能给你讲明白的😀😀😀我们先来康康题目的意思啦,为了方便观看,我直接到力扣那里截了个屏过来✅划重点这道题免费哟,直接上链接🥰🥰🥰:让所有学生保持开心的分组方法数为了方便观看,我直接截图过来,贴心吧😁😁😁这个题只要大家想到了排序就能很快做出来咯思路我们先从小到大的排序分两种情况第一种全选和全不选​1.如果0​2.假设nums长度为len,如果len>nums[len-1],那么表示可以全选选部

力扣(LeetCode)算法_C++——字母异位词分组

给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=[“eat”,“tea”,“tan”,“ate”,“nat”,“bat”]输出:[[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]示例2:输入:strs=[“”]输出:[[“”]]示例3:输入:strs=[“a”]输出:[[“a”]]vectorvectorstring>>groupAnagrams(vectorstring>&strs){unordered_mapstring,vectorstring>

链表oj题1(Leetcode)——移除链表元素,反转链表,链表的中间节点,

链表OJ一,移除链表元素1.1分析1.2代码二,找到链表的中间节点2.1分析2.2代码三,反转链表3.1分析3.2代码四,找到链表中倒数第k个节点4.1分析4.2代码一,移除链表元素移除链表元素1.1分析这里的删除要分成两种情况来考虑,因为这个题目给了我们头节点,所以分成头删和非头删。因为要记录下一个节点的位置,所以1我们这里选择新增两个指针方便记录。因为我们已经熟悉了链表所以这代码对我们来说还是很容易的。1.2代码structListNode*removeElements(structListNode*head,intval){structListNode*cur=head;structLi

python经典百题之反向输出数字

题目:输入一个整数,并将其反转后输出。程序分析我们需要对输入的整数进行反转,即将整数的数字反向排列。方法1:使用字符串反转解题思路将整数转换为字符串,然后对字符串进行反转。代码实现defreverse_integer_using_string(num):#Converttheintegertoastring,reverseit,andconvertitbacktoanintegerreversed_num=int(str(num)[::-1])returnreversed_num#Exampleusagenum=12345reversed_num=reverse_integer_using_s

【python-leecode刷题】动态规划类问题----以53. 最大子数组和为例

作者:20岁爱吃必胜客(坤制作人),近十年开发经验,跨域学习者,目前于海外某世界知名高校就读计算机相关专业。荣誉:阿里云博客专家认证、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。跨领域学习,喜欢摄影、弹吉他、咏春拳。文章深入浅出、语言风趣;爱吃必胜客社区创立者,旨在“发现美欣赏美🏆学习系列专栏。🏅Python学习宝库。🏅网络安全学习宝库文章目录⭐️题目🌟题目分析🌟代码实现🌟其他语言实现方式⭐️总结🌟我的故事⭐️题目给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,