草庐IT

leetCode

全部标签

leetcode- 区域和检索 - 数组可修改

给你一个数组nums,请你完成两类查询。其中一类查询要求更新数组nums下标对应的值另一类查询要求返回数组nums中索引left和索引right之间(包含)的nums元素的和,其中left实现NumArray类:NumArray(int[]nums)用整数数组nums初始化对象voidupdate(intindex,intval)将nums[index]的值更新为valintsumRange(intleft,intright)返回数组nums中索引left和索引right之间(包含)的nums元素的和(即,nums[left]+nums[left+1],...,nums[right])示例1:

LeetCode #1338 Reduce Array Size to The Half 数组大小减半

1338ReduceArraySizetoTheHalf数组大小减半Description:Youaregivenanintegerarrayarr.Youcanchooseasetofintegersandremovealltheoccurrencesoftheseintegersinthearray.Returntheminimumsizeofthesetsothatatleasthalfoftheintegersofthearrayareremoved.Example:Example1:Input:arr=[3,3,3,3,5,5,5,2,2,7]Output:2Explanation:

LeetCode-165-比较版本号

比较版本号题目描述:给你两个版本号version1和version2,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个'.'连接。每个修订号由多位数字组成,可能包含前导零。每个版本号至少包含一个字符。修订号从左到右编号,下标从0开始,最左边的修订号下标为0,下一个修订号下标为1,以此类推。例如,2.5.33和0.1都是有效的版本号。比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较忽略任何前导零后的整数值。也就是说,修订号1和修订号001相等。如果版本号没有指定某个下标处的修订号,则该修订号视为0。例如,版本1.0小于版本1.1,因为它们下标为0的修订号相同

【LeetCode高频100题-3】冲冲冲(持续更新23.2.1)

文章目录62.不同路径题意解法1排列组合解法2动态规划64.最小路径和题意解法1DFS(剪枝也超时)解法2动态规划70.爬楼梯题意解法1动态规划解法2矩阵快速幂(待补充)72.编辑距离(waiting)75.颜色分类(待整理)题意解法176.最小覆盖子串题意解法1滑动窗口(有待复习)78.子集94.二叉树的中序遍历题意解法98.验证二叉搜索树题意解法62.不同路径题意一道数学题,排列组合/小学奥赛题。动态规划不是一般来解决最值问题的吗,这道题为什么会想到dp?解法1排列组合从左上角到右下角,一共要走m+n-2步,其中向右n-1步,向下m-1步,因此路径的总数,相当于从m+n-2中选择m-1个向

( 数组和矩阵) 378. 有序矩阵中第 K 小的元素 ——【Leetcode每日一题】

❓378.有序矩阵中第K小的元素难度:中等给你一个nxnnxnnxn矩阵matrixmatrixmatrix,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个不同的元素。你必须找到一个内存复杂度优于O(n2)O(n^2)O(n2)的解决方案。示例1:输入:matrix=[[1,5,9],[10,11,13],[12,13,15]],k=8输出:13解释:矩阵中的元素为[1,5,9,10,11,12,13,13,15],第8小元素是13示例2:输入:matrix=[[-5]],k=1输出:-5提示:n==matrix.lengthn==matr

【leetcode刷题总结】——代码随想录(数组总结)

代码随想录按照数组->链表->哈希表->字符串->栈与队列->树->回溯->贪心->动态规划->图论->高级数据结构,再从简单刷起,做了几个类型题目之后,再慢慢做中等题目、困难题目。以下是个人刷题总结,官方网站https://programmercarl.com/目录数组理论基础704.二分查找27.移除元素977.有序数组的平方209.长度最小的子数组59.螺旋矩阵II总结数组理论基础数组是非常基础的数据结构,在面试中,考察数组的题目一般在思维上都不难,主要是考察对代码的掌控能力也就是说,想法很简单,但实现起来可能就不是那么回事了。首先要知道数组在内存中的存储方式,这样才能真正理解数组相关的

leetcode115 不同的子序列

题目给定一个字符串s和一个字符串t,计算在s的子序列中t出现的个数。字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE”是“ABCDE”的一个子序列,而“AEC”不是)题目数据保证答案符合32位带符号整数范围。示例输入:s=“rabbbit”,t=“rabbit”输出:3解释:如下图所示,有3种可以从s中得到“rabbit”的方案。rabbbitrabbbitrabbbit解析首先根据题意,s中可能有若干个t;且要求的是子序列,并没有要求连续;先用动归五部曲来分析下:1.确定dp数组及其含义dp[i][j]:以i-1为结尾的s子序

( 位运算 ) 190. 颠倒二进制位 ——【Leetcode每日一题】

❓190.颠倒二进制位难度:简单颠倒给定的32位无符号整数的二进制位。提示:请注意,在某些语言(如Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在Java中,编译器使用二进制补码记法来表示有符号整数。因此,在示例2中,输入表示有符号整数-3,输出表示有符号整数-1073741825。示例1:输入:n=00000010100101000001111010011100输出:964176192(00111001011110000010100101000000)解释:输入

2022.2.18 LeetCode —— 二叉树

文章目录一、今日刷题1.第七部分:二叉树--102.二叉树的层序遍历2.第七部分:二叉树--107.二叉树的层序遍历II3.第七部分:二叉树--199.二叉树的右视图4.第七部分:二叉树--637.二叉树的层平均值5.第七部分:二叉树--429.N叉树的层序遍历二、知识积累1.队列Queue的一些方法:一、今日刷题1.第七部分:二叉树–102.二叉树的层序遍历跳转LeetCode答案代码:维护一个队列用于存储树的节点,一个集合用于存储每层遍历到的节点,对队列的操作很巧妙:一层一层的遍历,①先加入第一层的root节点到队列中,poll到集合中,再将集合加入ans②将root的左右子节点(如果不为

leetcode 困难 —— 天际线问题(优先队列)

(思路感觉挺明显的,就是一些特殊情况得考虑清楚)题目:城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度,请返回由这些建筑物形成的天际线。每个建筑物的几何信息由数组buildings表示,其中三元组buildings[i]=[lefti,righti,heighti]表示:lefti是第i座建筑物左边缘的x坐标。righti是第i座建筑物右边缘的x坐标。heighti是第i座建筑物的高度。你可以假设所有的建筑都是完美的长方形,在高度为0的绝对平坦的表面上。天际线应该表示为由“关键点”组成的列表,格式[[x1,y1],[x2,y2],…],并按x坐标进行排