E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
LeetCode算法题集
堆与滑动窗口的结合(算法村第十六关黄金挑战)
滑动窗口最大值239.滑动窗口最大值-力扣(
LeetCode
)给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。
陈星泽SSR
·
2024-02-08 12:07
算法村
算法
leetcode
第206题反转链表❤
示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]题目链接:力扣(
LeetCode
)官网-全球极客挚爱的技术成长平台二:解题思路这道题我们可以用迭代或递归地反转链表。
大鹏蓄力中
·
2024-02-08 11:35
链表
数据结构
LeetCode
简单题:53. 最大子序和(Python,C++,Java)
一.解法https://
leetcode
-cn.com/problems/maximum-subarray/要点:dp动态规划注意转移方程为v[i]=max(v[i-1]+nums[i],nums[i]
好莱坞守门员
·
2024-02-08 10:35
算法6:贪心
6.1分饼干
LeetCode
No.455问题描述:要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
HYIndex
·
2024-02-08 09:29
【学习笔记】编码能力
基于
leetCode
题库分类,练习编码能力和算法1、语言基础知识汇总1.1c语言1.2c++1.3Makefile1.4汇编语言1.5python1.6shell1.7正则表达式1.8数据库2、基本2.1
踏流星
·
2024-02-08 09:00
学习
数据结构
算法
知识图谱
每日一题——
LeetCode
1417.重新格式化字符串
方法一个人方法:s里的字符只有小写字母和数字两种情况,我们可以把s里的字母和数字分隔成两个字符串,比较两个字符串的长度,只有当两个字符串的长度差值的绝对值为1或0才能满足题意。长度更长的要放在结果字符串的第一位,然后交替拼接。varreformat=function(s){letcharStr='',numStr='',resStr=''for(letcharofs){if(char>='a'&&
zbsnzj
·
2024-02-08 08:06
每日一题
javascript
leetcode
算法
每日一题——
LeetCode
1422.分割字符串的最大得分
方法一暴力枚举枚举所有分割点的情况,取最大得分varmaxScore=function(s){letres=0;constn=s.length;for(leti=1;imax){max=score0+score1}}returnmax};消耗时间和内存情况:
zbsnzj
·
2024-02-08 08:06
每日一题
算法
javascript
leetcode
《剑指 Offer》专项突破版 - 面试题 35 : 最小时间差(两种方法 + C++ 实现)
目录前言一、排序二、数组前言题目链接:LCR035.最小时间差-力扣(
LeetCode
)题目:给定一组范围在00:00至23:59的时间,求任意两个时间之间的最小时间差(以分钟数表示)。
melonyzzZ
·
2024-02-08 07:59
数据结构
c++
算法
数据结构
面试
Leetcode
.303. 区域和检索 - 数组不可变
Leetcode
.303.区域和检索-数组不可变难度:easy思路:最容易想到的是通过for循环来扫描统计,但这样的话每次检索的时间复杂度都是O(n),检索次数很多的话效率不高。
Chamberlain T
·
2024-02-08 06:45
LeetCode
#
前缀和
#
数组
leetcode
算法
leetcode
-303 区域和检索 - 数组不可变 [Java]
类别:题目:法一:直接计算代码:classNumArray{int[]nums;publicNumArray(int[]nums){this.nums=nums;}publicintsumRange(intleft,intright){intsum=0;for(inti=left;i<=right;i++){sum+=nums[i];}returnsum;}}/***YourNumArrayobj
学习机器:
·
2024-02-08 06:45
leetcode-Code
java
leetcode
算法
LeetCode
491 递增序列
给定一个整型数组,你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入:[4,6,7,7]输出:[[4,6],[4,7],[4,6,7],[4,6,7,7],[6,7],[6,7,7],[7,7],[4,7,7]]说明:给定数组的长度不会超过15。数组中的整数范围是[-100,100]。给定数组中可能包含重复数字,相等的数字应该被视为递增的一种情况。和一般的去重不一致的是,由
whp404
·
2024-02-08 06:45
leetcode
算法
leetcode
71. Simplify Path
题目一开始想着用类似于split("\s+")这种的,发现没有,那就单个"/"划分吧,把空格的地方后期处理一下就行。因为StringBuilder的reverse是整个每个字符串都要翻转,所以要用到两个StackclassSolution{publicStringsimplifyPath(Stringpath){String[]str=path.split("/");Stackstack=newS
爱打篮球的憨憨
·
2024-02-08 06:45
leetcode
medium
leetcode
21:合并两个有序链表
解题思路首先创建一个dummy节点,这个节点用于返回目标链表。创建一个while循环。循环的终止体条件为l1、l2两个链表其中一个为null。循环内部逻辑:如果l1的值小于l2的值,就将current.next节点的值指向l1,且更新l1为l1.next,反之current.next取l2的值,且更新l2为l2.nextfunctionListNode(val,next){this.val=val
coder_MX
·
2024-02-08 06:15
leetcode
链表
javascript
leetcode
-单词规律
290.单词规律题解:可以使用哈希表来解决这个问题。首先,将pattern中的每个字符映射到一个不同的整数,然后将字符串s中的每个单词也映射到相应的整数。如果两个映射关系相同,则说明s遵循相同的规律。具体步骤如下:创建一个空的哈希表,用于存储pattern中的字符和字符串s中的单词之间的映射关系。遍历pattern,对于每个字符,将其映射到一个整数。可以使用一个计数器来生成唯一的整数。遍历字符串s
独孤--蝴蝶
·
2024-02-08 06:44
leetcode
leetcode
-3的幂
326.3的幂题解:要判断一个整数是否是3的幂次方,我们可以使用循环或递归的方法。首先,我们需要处理一些特殊情况,例如当n为0时,返回false;当n为1时,返回true。然后,我们可以通过不断地将n除以3来判断它是否是3的幂次方。如果在某一步中,n不能被3整除,那么n就不是3的幂次方。如果n最终变为1,那么它就是3的幂次方。classSolution:defisPowerOfThree(self
独孤--蝴蝶
·
2024-02-08 06:44
leetcode
leetcode
-Nim 游戏
292.Nim游戏题解:Nim游戏是一个数学问题,也被称为尼姆游戏。在这个问题中,两个人轮流从一堆石头中取走1-3块石头,谁最后取走最后一块石头,谁就获胜。如果给定的石头数量是4的倍数,那么先手的人就会输,否则就会赢。这是因为,无论先手的人怎么取,后手的人都可以采取最优策略,使得每次取走的石头数量总和为4,这样就能保证最后剩下的石头数量是4的倍数。所以,我们只需要判断给定的石头数量是否是4的倍数即
独孤--蝴蝶
·
2024-02-08 06:44
leetcode
leetcode
-移动零
283.移动零题解:使用双指针法(快慢指针),快指针指向的数字不为0的时候,将这个数字移到慢指针的地方,最后在后面补0即可classSolution:defmoveZeroes(self,nums:List[int])->None:"""Donotreturnanything,modifynumsin-placeinstead."""slow=0forfastinrange(len(nums)):
独孤--蝴蝶
·
2024-02-08 06:13
leetcode
LeetCode
- 303 区域和检索 - 数组不可变 (设计 前缀和数组)
classNumArray{privateint[]preSum;publicNumArray(int[]nums){intn=nums.length;preSum=newint[n+1];for(inti=0;i
三岁就很萌@D
·
2024-02-08 06:12
设计
leetcode
leetcode
算法
排序算法
Leetcode
303. 区域和检索 - 数组不可变
题目描述给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i、j两点。实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums从索引i到j(i≤j)范围内元素的总和,包含i、j两点(也就是sum(nums[i],nums[i+1],…,nums[j]))来源:力扣(LeetCod
无名小卒一枚
·
2024-02-08 06:41
LeetCode
C++
数组
简单
每日一题
LeetCode
21. 合并两个有序链表
题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4,1->3->4输出:1->1->2->3->4->4这道题目有两种解决方法,第一种是暴力解决,利用两个循环将其中一个链表中的节点一个一个地插入到另一个链表中,代码如下:/***Definitionforsingly-linkedlist.*structListNode{
MagnumLu
·
2024-02-08 06:11
刷题总结
LeetCode
合并两个有序链表
LeetCode
303(区域和检索 - 数组不可变)
菜鸟成长逆袭之旅,爱好撸铁和撸代码,有强制的约束力,希望通过自己的努力做一个高品质人Worktogetherandmakeprogresstogether区域和检索-数组不可变给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(
AI算法工程师YC
·
2024-02-08 06:11
LeetCode
leetcode
区域和检索-数组不可变
Leetcode
-303 区域和检索-数组不可变
题目描述:给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i、j两点。实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums从索引i到j(i≤j)范围内元素的总和,包含i、j两点(也就是sum(nums[i],nums[i+1],...,nums[j]))示例:输入:["Nu
qq_39622795
·
2024-02-08 06:11
Leetcode
leetcode
Leetcode
303-区域和检索-数组不可变
文章目录区域和检索-数组不可变题目描述code区域和检索-数组不可变题目描述给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(2,5)->-1sumRange(0,5)->-3codeclassNumArray{private
123.56.119.133:8090
·
2024-02-08 06:41
leetcode
LeetCode303
区域和检索-数组不可变
LeetCode
—— 区域和检索 - 数组不可变
题目:给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(2,5)->-1sumRange(0,5)->-3说明:你可以假设数组不可变。会多次调用sumRange方法。思路:最简单的思路就是每次调用sumRange都根据i和j来
如是雨林
·
2024-02-08 06:41
算法题
Leetcode
-区域和检索 - 数组不可变(303)
题目描述给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i、j两点。实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums从索引i到j(i≤j)范围内元素的总和,包含i、j两点(也就是sum(nums[i],nums[i+1],…,nums[j]))代码classNumArr
莫陌莫墨
·
2024-02-08 06:41
算法刷题
leetcode
算法
前缀和
Leetcode
213 打家劫舍 II
题意理解:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,今晚能够偷窃到的最高金额。假设从A点开始偷,若小偷偷了A,则根据规则,不能偷E
庄园特聘拆椅狂魔
·
2024-02-08 06:09
刷题训练营
leetcode
算法
数据结构
Leetcode
279 完全平方数
题意理解:给你一个整数n,返回和为n的完全平方数的最少数量。完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。从题目中可以理解:元素是平方数,即1,4,9,...元素可以使用无数次。而整数n表示要使用平方数凑数来的目标。则该问题是一个完全背包问题。又因为,这里求凑出target的最少完全平方数,所以这里不是一个
庄园特聘拆椅狂魔
·
2024-02-08 06:39
刷题训练营
leetcode
算法
数据结构
Leetcode
139 单词拆分
题意理解:给你一个字符串s和一个字符串列表wordDict作为字典。如果可以利用字典中出现的一个或多个单词拼接出s则返回true。这道题目可以用回溯也可以用动态规划来解决。这里采用动态规划来解决这个问题,将其转换为一个背包问题。wordDict表示可用的元素,其中元素可以被重复使用。字符串s就是target,是要凑出来的目标。且这里强调顺序,所以这里求的是排列数。解题思路:已知元素集合是wordD
庄园特聘拆椅狂魔
·
2024-02-08 06:09
刷题训练营
leetcode
算法
数据结构
Leetcode
-区域和检索 - 数组不可变
65.区域和检索-数组不可变题目内容:代码及思路:classNumArray{public:vectornum;NumArray(vector&nums){for(inti=0;isumRange(i,j);*/
chestnutllin
·
2024-02-08 06:08
Leetcode编程题
leetcode
71. Simplify Path(简化路径)
Givenastringpath,whichisanabsolutepath(startingwithaslash‘/’)toafileordirectoryinaUnix-stylefilesystem,convertittothesimplifiedcanonicalpath.InaUnix-stylefilesystem,aperiod‘.’referstothecurrentdirecto
蓝羽飞鸟
·
2024-02-08 06:38
leetcode
leetcode
算法
数据结构
Leetcode
-区域和检索-数组不可变
描述:给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。说明:可以假设数组不可变;会多次调用区间和sumRange方法示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(2,5)->-1sumRange(0,5)->-3方法1:暴力求解(一般都会超过时间限制)每次调用区间求和方
codingjav
·
2024-02-08 06:08
数据结构与算法
Java学习
leetCode
算法
数据结构
java
数学
leetcode
- 区域和检索 - 数组可修改
给你一个数组nums,请你完成两类查询。其中一类查询要求更新数组nums下标对应的值另一类查询要求返回数组nums中索引left和索引right之间(包含)的nums元素的和,其中left0){ans+=sums[i];i-=last(i);}returnans;}privateintlast(inta){returna&(-a);}publicvoidupdate(intindex,intval
程序员小2
·
2024-02-08 06:08
leetcode-数组
LeetCode
leetcode
LeetCode
303. 区域和检索 - 数组不可变
303.区域和检索-数组不可变【前缀和】朴素前缀和classNumArray{int[]pre;publicNumArray(int[]nums){intn=nums.length;pre=newint[n+1];for(vari=0;i0){ret+=tree[x];x-=lowbit(x);}returnret;}publicNumArray(int[]nums){n=nums.length;
Sasakihaise_
·
2024-02-08 06:07
LeetCode
leetcode
前缀和
树状数组
线段树
Leetcode
-区域和检索,数组不可变C++实现
给定一个整数数组nums,处理以下类型的多个查询:计算索引left和right(包含left和right)之间的nums元素的和,其中leftn;NumArray(vector&nums){n=nums;}intsumRange(intleft,intright){intresult=0;for(inti=left;i<=right;i++){result=result+n[i];}returnr
Vanderbiol
·
2024-02-08 06:07
leetcode
c++
算法
LeetCode
71. Simplify Path
一题目Givenanabsolutepathforafile(Unix-style),simplifyit.Orinotherwords,convertittothecanonicalpath.InaUNIX-stylefilesystem,aperiod.referstothecurrentdirectory.Furthermore,adoubleperiod..movesthedirector
bohu83
·
2024-02-08 06:07
leetcode
stack
simplify
Path
leetcode
String
Java实现
LeetCode
303 区域和检索 - 数组不可变
303.区域和检索-数组不可变给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(2,5)->-1sumRange(0,5)->-3说明:你可以假设数组不可变。会多次调用sumRange方法。classNumArray{priv
南 墙
·
2024-02-08 06:37
LeetCode
Java
区域和检索
-
数组不可变
LeetCode
303-区域和检索 - 数组不可变-前缀和
原题链接前缀和:classNumArray{public:vectorn;NumArray(vector&nums){n=vector(nums.size()+1,0);for(inti=1;isumRange(left,right);*/
李烦烦搞快点
·
2024-02-08 06:36
leetcode
算法
数据结构
前缀和
Leetcode
71. Simplify Path
方法1:usesplit()function。时间复杂n,空间复杂n。classSolution{publicStringsimplifyPath(Stringpaths){Stringsub=paths.substring(1);String[]path=sub.split("/");StringBuildersb=newStringBuilder();sb.append("/");//Stac
GoodJobJasper
·
2024-02-08 06:06
Leetcode
stack
string
Leetcode
21:合并两个有序链表
示例:输入:1->2->4,1->3->4输出:1->1->2->3->4->4来源:力扣(
LeetCode
)链接:https://
leetcode
-cn.com/problems/merge-two-sorted-lists
Jackshijin
·
2024-02-08 06:06
Javascript
Leetcode
leetcode
21
合并有序链表
js
【
LeetCode
】区域和检索 - 数组不可变
给定一个整数数组nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i,j两点。示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()sumRange(0,2)->1sumRange(2,5)->-1sumRange(0,5)->-3说明:你可以假设数组不可变。会多次调用sumRange方法。classNumArray{int[]sums=null;publ
QiuBika_061
·
2024-02-08 06:06
LeetCode练习1.0
Leetcode
02.05:链表求和
一、题目描述给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例:输入:(7->1->6)+(5->9->2),即617+295输出:2->1->9,即912输入:(1)+(9->9),即1+99输出:0->0->1,即100二、题解思路:因为链表是按照个位十位百位逆序存储的,所以直接顺序遍历链表,第一个
我可能是个假开发
·
2024-02-08 06:05
链表
数据结构
Leetcode
21:合并两个有序链表
将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。例:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]publicclasstitle21{publicstaticvoidmain(String[]args){int[]l1={1,2,4};int[]l2={1,3,4};ListNodelist1=createList(l
SucceedCode
·
2024-02-08 06:05
leetcode
链表
算法
小白水平理解面试经典题目
LeetCode
71. Simplify Path【Stack类】
71.简化路径小白渣翻译给定一个字符串path,它是Unix风格文件系统中文件或目录的绝对路径(以斜杠‘/’开头),将其转换为简化的规范路径。在Unix风格的文件系统中,句点‘.’指的是当前目录,双句点‘…’指的是上一级目录,任何多个连续的斜杠(即‘//’)被视为单斜线‘/’。对于此问题,任何其他格式的句点(例如‘…’)都被视为文件/目录名称。规范路径应具有以下格式:该路径以单斜杠‘/’开头。任何
心安成长
·
2024-02-08 06:04
leetcode
leetcode
职场和发展
面试
leetcode
-区域和检索 - 数组不可变
303.区域和检索-数组不可变题解:在构造函数中,将传入的数组nums保存到实例变量self.nums中。在sumRange方法中,使用Python内置函数sum对数组nums中索引left和right之间的元素求和,并返回结果。classNumArray:def__init__(self,nums:List[int]):self.nums=numsdefsumRange(self,left:in
独孤--蝴蝶
·
2024-02-08 06:34
leetcode
Leetcode
21:合并两个有序链表
一、题目描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]输入:l1=[],l2=[]输出:[]输入:l1=[],l2=[0]输出:[0]二、题解思路:分别用两个指针遍历两个链表,再用一个指针专门改变链表的指向。一开始先找出头更小的那个链表作为头节点,依次取出两个指针
我可能是个假开发
·
2024-02-08 06:03
链表
数据结构
LeetCode
动态规划的解题思路
一维数组dp[i]的动态规划的几个步骤:确定数组dp[i]的下标i以及dp[i]值的含义,比如经典的
LeetCode
70爬楼梯,爬到第i层楼梯,有dp[i]种方法
乐之者v
·
2024-02-08 06:03
数据结构和算法
leetcode
动态规划
算法
Leetcode
198 打家劫舍
题意理解:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。这道题目的含义可理解为:有一组元素nums=[1,2,3,1]约束条件时不取相邻的元素,求能获得的最大
庄园特聘拆椅狂魔
·
2024-02-08 06:33
刷题训练营
leetcode
算法
数据结构
LeetCode
算法题-Remove Linked List Elements(Java实现)
这是悦乐书的第189次更新,第191篇原创01看题和准备今天介绍的是
LeetCode
算法题中Easy级别的第48题(顺位题号是203)。移除单链表中节点值为val的节点。
程序员小川
·
2024-02-08 06:20
LeetCode
回溯算法的解题思路
回溯法概念回溯法:一种通过探索所有可能的候选解来找出所有的解的算法。如果候选解被确认不是一个解(或者至少不是最后一个解),回溯算法会通过在上一步进行一些变化抛弃该解,即回溯并且再次尝试。应用场景回溯算法可以搜索得到所有的方案,本质上它是一种穷举算法。回溯法的原理回溯算法=dfs+剪枝dfs:深度优先遍历,从最上层逐步往下遍历,会用到递归。剪枝,就是去掉不符合条件的分支。回溯算法的框架回溯算法其实是
乐之者v
·
2024-02-08 06:19
数据结构和算法
算法
leetcode
链表常见操作及解题思路
示例题目
LeetCode
876.返回链表的中间节点publicListNodemiddleNode(ListNodehead){ListNode[]arr=newListNode[100];
乐之者v
·
2024-02-08 06:49
数据结构和算法
链表
数据结构
上一页
36
37
38
39
40
41
42
43
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他