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
力扣!
力扣
乘积最大子数组
动态规划,注意负负得正,dp交换。题目注意这里的dp的乘积要求最大,而两个很大的负数相乘也是大的,因此在每遍历到一个数时要存一个最大值的dp与一个最小值的dp,然后遍历完后再去存ans的dp。由于存在负数,那么会导致最大的变最小的,最小的变最大的。因此还需要维护当前最小值。时间复杂度:O(n),空间复杂度:O(1)。classSolution{publicintmaxProduct(int[]nu
孑么
·
2025-02-18 03:12
力扣
算法
leetcode
职场和发展
java
动态规划
贪心算法
每日一题——
力扣
——最长连续递增序列
题目来源于
力扣
——画解算法:674.最长连续递增序列-最长连续递增序列-
力扣
(LeetCode)(leetcode-cn.com)给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度
爱编程的晖哥
·
2025-02-18 03:10
力扣刷题
leetcode
算法
职场和发展
面试经典150题——最长公共前缀
面试经典150题day20题目来源我的题解方法一横向遍历方法二纵向遍历方法三分治方法四字典树题目来源
力扣
每日一题;题序:14我的题解方法一横向遍历两两字符串找最长公共前缀时间复杂度:O(nL)。
菜菜的小彭
·
2025-02-17 23:49
java
面试经典150题
面试
职场和发展
leetcode
算法
java
力扣
两数之和C++详解
解题思路题目概括来说其实就是以下三点1.数组nums中的两个整数相加小于target,之后要返回这两个整数的下标2.数组nums中的元素每一个只能用一次3.可以按任意顺序返回答案,这里我们按照从小到大的顺序返回答案我们可以先创立两个指针p1和p2指向nums的首尾,假设nums数组中的顺序从小到大排序,那么p1就指向最小值,p2就指向最大值这时候如果p1+p2>target,那么指针p2向左移动,
Pixel_Pirate
·
2025-02-17 19:43
力扣排序算法题
leetcode
c++
算法
力扣
LeetCode: 120 三角形最小路径和
题目:给定一个三角形triangle,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点在这里指的是下标与上一层结点下标相同或者等于上一层结点下标+1的两个结点。也就是说,如果正位于当前行的下标i,那么下一步可以移动到下一行的下标i或i+1。示例1:输入:triangle=[[2],[3,4],[6,5,7],[4,1,8,3]]输出:11解释:如下面简图所示:234657
不想编程小谭
·
2025-02-17 11:30
LeetCode
leetcode
算法
c++
动态规划
【练习】【双指针】
力扣
热题100 283. 移动零
示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]示例2:输入:nums=[0]输出:[0]来源:
力扣
热题100283.移动零思路(注意事项)学习remove()函数的用法纯代码
柠石榴
·
2025-02-17 06:21
输入输出
力扣
hot100
leetcode
算法
c++
【练习】
力扣
热题100 除自身以外数组的乘积
题目给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据保证数组nums之中任意元素的全部前缀元素和后缀的乘积都在32位整数范围内。请不要使用除法,且在O(n)时间复杂度内完成此题。示例1:输入:nums=[1,2,3,4]输出:[24,12,8,6]示例2:输入:nums=[-1,1,0,-3,3]输出:[0,0,9,
柠石榴
·
2025-02-17 06:51
力扣
hot100
输入输出
有阻碍
算法
数据结构
leetcode
c++
【练习】
力扣
热题100 最大子数组和
题目给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。示例2:输入:nums=[1]输出:1示例3:输入:nums=[5,4,-1,7,8]输出:23提示:•1&nums){intmaxS
柠石榴
·
2025-02-17 06:21
力扣
hot100
输入输出
动态规划
leetcode
算法
c++
开发语言
代码随想录算法训练营第三天| 反转链表,设计链表,移除链表元素
206.反转链表-
力扣
(LeetCode)structListNode*reverseList(structListNode*head){typedefstructListNodeListNode;ListNode
坚持不懈的猫喵
·
2025-02-17 05:42
算法
链表
数据结构
动态规划——完全背包问题(
力扣
322: 零钱兑换)
前言这次我们要说的是完全背包问题,还记得下面这张图吗,可以看到01背包问题和完全背包问题的区别在于每种物品的数量01背包问题中每种物品只有一个,只有选与不选两种情况完全背包问题种每种物品有多个,选不选,选多少都是考虑的问题定义:一个背包容积为C,一共N种物品,分别编号0,1,2....i,i+1,.....N-1,第i个物品的重量为weight[i],价值为value[i],每种物品可以选用任意多
索利亚噶通
·
2025-02-15 20:32
动态规划
算法
力扣
hot100第二天
子串239.滑动窗口最大值题目给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。代码classSolution{publicint[]maxSlidingWindow(int[]nums,intk){intn=nums.length;int[]ans=newint[n-k+1]
cookie265
·
2025-02-15 13:39
leetcode
算法
职场和发展
哈希表-四数之和
代码随想录-刷题笔记18.四数之和-
力扣
(LeetCode)内容:请一定要看上一篇文章!因为本题跟上一道题逻辑一模一样!
Hasno.
·
2025-02-15 09:39
散列表
数据结构
哈希表-快乐数
代码随想录-刷题笔记202.快乐数-
力扣
(LeetCode)内容:这道题真心挺唬人的,最开始我就在思考怎么用数学的方式去推规律。但是根本不需要!
Hasno.
·
2025-02-15 09:09
散列表
算法
数据结构
字符串-反转字符串
代码随想录-刷题笔记344.反转字符串-
力扣
(LeetCode)内容:字符串本质上还是对数组进行操作,本身代码随想录网站上面所有的字符串的题(抛出KMP)都不难。
Hasno.
·
2025-02-15 09:09
算法
哈希表-两个数的交集
代码随想录-刷题笔记349.两个数组的交集-
力扣
(LeetCode)内容:集合的使用,重复的数剔除掉,剩下的即为交集,最后加入数组即可。
Hasno.
·
2025-02-15 09:08
散列表
算法
数据结构
算法-哈希表篇05-四数相加II
四数相加II
力扣
题目链接题目描述给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0&nums1,vector&nums2,vector
Buling_0
·
2025-02-15 08:58
算法篇
算法
散列表
数据结构
算法-数组篇04-长度最小的子字符串
长度最小的子字符串
力扣
题目链接题目描述给定一个含有n个正整数的数组和一个正整数target。
Buling_0
·
2025-02-15 08:28
算法篇
算法
数据结构
leetcode
力扣
-二叉树-257 二叉树的所有路径
思路除去根节点,每一层添加->val,然后使用前序遍历的顺序代码classSolution{public:vectorres;voidgetTreePaths(strings,TreeNode*root){s+="->";s+=to_string(root->val);if(root->left==nullptr&&root->right==nullptr){res.push_back(s);re
夏末秋也凉
·
2025-02-15 01:59
力扣
#
二叉树
leetcode
算法
LeetCode Hot100 - 子串篇
前言挑战一个月刷完
力扣
的hot100,记录一下每题的思路~这次是子串相关的题目(1)560.和为K的子数组①暴力枚举,使用一个变量sum记录以l开头r结尾的情况classSolution{publicintsubarraySum
搞笑症患者
·
2025-02-15 00:27
力扣hot100
leetcode
算法
子串
力扣
第1题:两数之和(Java)
有人相爱,有人开车看海,有人
力扣
第一题就做不出来……第一题两数之和(万恶之源),劝退了不少小……在这里整理一下这道题的两种Java解法。
曼城铁闸
·
2025-02-14 22:04
java
算法
力扣
第一题 哈希解法 O(n)时间复杂度
题目:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那俩个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。题解代码:classSolution{public:vectortwoSum(vector&nums,inttarget){//创建一个哈希表,用于存储数组中的元素及其对应
01_
·
2025-02-14 21:57
leetcode
哈希算法
算法
力扣
第一题 -- 两数之和Java解法【多解法】
题目描述:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。举例输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。方法一:暴力穷
超哥CG_544
·
2025-02-14 17:30
力扣题解
leetcode
算法
力扣
1.两数之和,c++哈希表解法时间复杂度o(n)
本题最容易想到的就是暴力遍历解法但是时间复杂为o(),所以本题可以采用哈希表进行秋姐,代码如下classSolution{public:vectortwoSum(vector&nums,inttarget){unordered_map_map;//创建一个哈希表for(inti=0;i::iteratorit=_map.find(target-nums[i]);//创建迭代器查找哈希表中是否有与当
崎月xy
·
2025-02-14 17:57
leetcode
数据结构
算法
c++
力扣
全排列(
力扣
46)
这道题让我们求这个集合有多少种排列方式,那么与之前组合问题的不同就在于要考虑元素之间的顺序了,所以每一层递归的or循环的起始值无需变量控制,都从0开始。但是一个排列中不能出现相同元素,所以别忘了去重,这里的去重方法也是之前讲过的。设置一个数组,下标对应集合中元素的下标,数组值为0表示在当前排列中未使用过,1则表示使用过。另外,题目说了集合中的元素互不相同,所以这里的去重仅仅指的是一个排列中不出现相
qy发大财
·
2025-02-14 03:59
leetcode
算法
职场和发展
最大子数组和(
力扣
53)
这道题的贪心贪在何处呢?当我们发现当前的子数组和已经为负数时,就要立马清0,因为继续加的话,一定会让后面的数字变小,这样一定无法达到题目要求的最大子数组和。我们需要用变量将局部的子数组和存储起来,并且随着遍历的进行,每当我们求得更大的局部最大子数组和时就更新该变量,最终该变量的值就是最大子数组和。需要注意的是我们给存储子数组的和的变量初始化时一定是用INT_MIN,千万不要习惯性初始化为0,原因是
qy发大财
·
2025-02-14 03:59
leetcode
算法
职场和发展
力扣
(leetcode)第455题分发饼干(Python)
455.分发饼干题目链接:455.分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果s[j]>=g[i],我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入:g=[
十八子是李
·
2025-02-14 02:26
Python题集
leetcode
python
算法
开发语言
力扣
455.分发饼干贪心算法
先理解题意,理解完了之后我们会发现排序后会更好做,排完序之后我们依次来比较大小不就好了吗!方法很简单,代码如下g.sort()s.sort()glen,slen=len(g),len(s)gleft=sleft=n=0wh
Leosaf
·
2025-02-14 02:56
力扣
算法
python
通俗易懂:贪心算法(一):分配问题 (
力扣
455分发饼干 和135分发糖果)
看完本文,可以顺便解决leetcode以下两个题目:455.分发饼干(简单)135.分发糖果(困难)一、通俗易懂的贪心算法|思想贪心算法就是采用贪心的策略,保证每一次的操作都是局部最优的,从而使得结果是全局最优的。比如,A、B、C、都很喜欢吃橘子,A可以吃5个、B可以吃3个、C可以吃1个;但是现在只有7个橘子,问最多几个人可以吃饱;我们选用的贪心策略就是,吃的少的人先吃,尽量先使用量少的人吃饱,所
比特的一天
·
2025-02-14 02:55
leetcode详解
算法
数据结构
贪心算法
面试
分发饼干(
力扣
455)
从这道题开始我们就进入贪心算法的学习了。这个算法没有固定的套路,甚至题目之间的联系也很少,基本上每一道题都要当新题来写。我们能做的只有见多识广,这样才有机会在考试中根据以往经验解决贪心的题目。贪心的本质上就是找到局部最优解,最终的答案就是全局最优解。这道题要求尽可能分到更多的小孩,那么所谓的贪心究竟贪在什么地方呢?我们可以先将胃口和饼干的数组进行从小到大的排序,让小胃口的小孩吃到尽可能小的饼干,只
qy发大财
·
2025-02-14 01:49
leetcode
算法
职场和发展
【LeetCode】三个无重叠子数组的最大和 [H](动态规划)
689.三个无重叠子数组的最大和-
力扣
(LeetCode)一、题目给你一个整数数组nums和一个整数k,找出三个长度为k、互不重叠、且全部数字和(3*k项)最大的子数组,并返回这三个子数组。
小七mod
·
2025-02-13 16:19
#
LeetCode
#
算法
#
数据结构
leetcode
动态规划
算法
子数组
滑动窗口
[HOT 100] 1234. 替换子串得到平衡字符串
文章目录1.题目链接2.题目描述3.题目示例4.解题思路5.题解代码6.复杂度分析1.题目链接1234.替换子串得到平衡字符串-
力扣
(LeetCode)2.题目描述有一个只含有'Q','W','E','
水蓝烟雨
·
2025-02-13 16:18
算法
HOT
100
力扣
动态规划-28【算法学习day.122】
前言###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,
力扣
上的大佬们的题解质量是非常非常高滴!!!
南宫生
·
2025-02-13 04:16
#
动态规划
算法
算法
leetcode
动态规划
java
学习
力扣
动态规划-24【算法学习day.118】
前言###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,
力扣
上的大佬们的题解质量是非常非常高滴!!!
南宫生
·
2025-02-13 04:46
算法
#
动态规划
算法
leetcode
动态规划
学习
java
算法训练Day7| LeetCode454. 四数相加II(Map作哈希表);383.赎金信(数组作哈希表);15.三数之和(双指针);18.四数之和(双指针)
.三数之和方法一:双指针法1.思路2.代码实现3.复杂度分析4.思考Leetcode18.四数之和1.思路2.代码实现3.复杂度分析4.思考LeetCode454.四数相加链接:454.四数相加II-
力扣
努力学习的牛宁西
·
2025-02-13 04:45
代码随想录训练营
算法
散列表
leetcode
LeetCode 刷题:滑动窗口模板
文章目录
力扣
的原题引发的一连串学习扩展部分:滑动窗口解题模板第一个模板:适用于需要使用[变量]记录的情况模板:例题1:第二个模板:适用于需要用[哈希表]记录的情况模板:例题1:例2:
力扣
的原题引发的一连串学习题目链接
我心向阳iu
·
2025-02-13 04:44
#
Spring
Boot
Java面试知识点精讲
leetcode
算法
职场和发展
day28【LeetCode
力扣
】383.赎金信
day28【LeetCode
力扣
】383.赎金信以后我们每期附张图啦~~~1.题目描述附上题目链接:赎金信给你两个字符串:ransomNote和magazine,判断ransomNote能不能由magazine
Gcanfly
·
2025-02-13 03:40
leetcode
算法
职场和发展
C++算法练习-day17——383.赎金信
-
力扣
(LeetCode)题目思路分析题目要求我们判断给定的ransomNote字符串是否可以通过从magazine字符串中选取字符来构造。
Neophyte0608
·
2025-02-13 03:39
C++算法练习
c++
开发语言
1024程序员节
代码随想录||Day7 454.四数相加 383.赎金信 15.三数之和 18,四数之和
454.四数相加
力扣
题目链接题目描述给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0&nums1,vector&nums2
henu大肠杆菌
·
2025-02-13 03:39
leetcode
算法
数据结构
哈希算法
leetcode: 153. 寻找旋转排序数组中的最小值
153.寻找旋转排序数组中的最小值来源:
力扣
(LeetCode)链接:https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array/
uncle_ll
·
2025-02-12 08:51
编程练习-Leetcode
leetcode
算法
二分法
遍历
算法训练
Leetcode滑动窗口刷题 - 718. 最长重复子数组
718.最长重复子数组-
力扣
(LeetCode)题目概述:给定两个长度不一定相等的数组,输出两数组的最长重复子数组的长度。
S_keo
·
2025-02-12 07:46
刷题笔记
leetcode
算法
数据结构
代码随想录 Day 29 | 【第七章 回溯算法 part02】39. 组合总和、40.组合总和II、131.分割回文串
一、39.组合总和本题是集合里元素可以用无数次,那么和组合问题的差别其实仅在于startIndex上的控制题目链接/文章讲解:代码随想录视频讲解:带你学透回溯算法-组合总和(对应「leetcode」
力扣
题目
Accept17
·
2025-02-12 06:06
算法
【LeetCode 热题100】74:搜索二维矩阵(二分、线性两种方式 详细解析)(Go 语言实现)
力扣
热题74:搜索二维矩阵(详细解析)题目描述
力扣
74.搜索二维矩阵给你一个满足下述两条属性的mxn整数矩阵matrix:每行中的整数从左到右按非递减顺序排列。
飞川001
·
2025-02-11 19:12
力扣LeetCode
leetcode
golang
算法
力扣
单词拆分
动态规划,字符串截取,可重复用,集合类。题目单词可以重复使用,一个单词可用多次,应该是比较灵活的组合形式了,可以想到用dp,遍历完单词后的状态的返回值。而这里的wordDict给出的是list,但可以用set,因为hashset可以去重,hashset的查找比list要快。然后就是这里的额dp数组是个boolean值,然后用截取字符串的形式去看set里能不能找到,找不到说明拼不了。时间复杂度:O(
孑么
·
2025-02-11 13:06
力扣
leetcode
算法
职场和发展
java
动态规划
力扣
LeetCode #98 验证二叉搜索树(IsValidBST)
-题目描述给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。来源:LeetCode-示例示例1:输入:2/\13输出:true示例2:输入:5/\14/\36输出:false解释:输入为:[5,1,4,null,null,3,6]。根节点的值为5,但是其
苏志林的情敌
·
2025-02-11 10:10
二叉树
leetcode
java
算法
动态规划
力扣
——单词拆分
单词拆分给你一个字符串s和一个字符串列表wordDict作为字典,判定s是否可以由空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。示例1:输入:s=“leetcode”,wordDict=[“leet”,“code”]输出:true解释:返回true因为“leetcode”可以被拆分成“leetcode”。示例2:输入:s=“applepenapple”,wordDi
不易撞的网名
·
2025-02-11 10:10
力扣中等题目集
leetcode
算法
职场和发展
[LeetCode]day10 707.设计链表
707.设计链表-
力扣
(LeetCode)题目描述你可以选择使用单链表或者双链表,设计并实现自己的链表。单链表中的节点应该具备两个属性:val和next。
因兹菜
·
2025-02-11 09:08
leetcode
链表
算法
验证二叉搜索树——
力扣
98
题目描述二叉搜索树BST定义:1)左子树节点值=上界,则不满足;否则,依次递归左子树,将上界修改为根节点值,递归右子树,将下界修改为根节点值复杂度分析classSolution
hazel爱吃肉
·
2025-02-11 09:36
算法刷题笔记
leetcode
算法
职场和发展
算法训练day51Leetcode139.单词拆分 多重背包了解 背包问题总结
-
力扣
(LeetCode)题目分析初始化:初始化一个布尔型向量dp,大小为s.size()+1,所有值初始化为false,除了dp[0]被设置为true。
dc爱傲雪和技术
·
2025-02-11 09:36
算法训练
算法
力扣
139.单词拆分
问题给你一个字符串s和一个字符串列表wordDict作为字典。请你判断是否可以利用字典中出现的单词拼接出s。例:输入:s="leetcode",wordDict=["leet","code"]输出:true解释:返回true因为"leetcode"可以由"leet"和"code"拼接成。题解动态规划1.算法思路1)确定一个dp数组,长度为字符串长度+1。该dp数组的每一位表示其前i位字符子串是否可
MarlboroLRX
·
2025-02-11 09:01
动态规划
算法
leetcode
力扣
LeetCode139.单词拆分及Python源码实现
本题目是LeetCode题库中第139题单词拆分,难度中等,题目请参考这里。本来是完成一个项目中一个问题:给定一个字符串和词典将它进行切分,且切分的每个词语都要是词典中的单词,问一共有多少种不同的切分方法。以为很简单的一个操作但是想了很久没有什么好的思路去解决,面向百度编程发现和LeetCode140.单词拆分||是一模一样的题,要解决140这道题又得先弄清楚139那道题,所以这篇文章首先解决13
一只特立丶独行的猪
·
2025-02-11 09:00
LeetCode
LeetCode
Python编程
字符串拆分
动态规划
内存限制
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他