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-中等难度
LeetCode-
题目整理【7】:加油站
加油站在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组gas和cost,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回-1。如果存在解,则保证它是唯一的。示例1:输入:gas=[1,2,3,4,5],cost=[
菜鸟要加油!
·
2024-01-23 14:16
leetcode
算法
LeetCode-
题目整理【5】:O(1) 时间插入、删除和获取随机元素
RandomizedSet结构体存在切片和哈希表的原因:变长数组由于可以根据下标定位到特定元素,因此可以在O(1)的时间内完成获取随机元素操作,但是由于无法在O(1)的时间内判断元素是否存在,因此不能在O(1)的时间内完成插入和删除操作。哈希表可以在O(1)的时间内判断元素是否存在,因此可以在O(1)的时间内完成插入和删除操作,但是不可以根据下标定位到特定元素,因此不能在O(1)的时间内完成获取随
菜鸟要加油!
·
2024-01-23 14:13
leetcode
算法
go
数据结构
LeetCode-
题目整理【6】:除自身以外数组的乘积
除自身以外数组的乘积给你一个整数数组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]输出
菜鸟要加油!
·
2024-01-23 09:51
leetcode
算法
LeetCode-
题目整理【1】
从下面的三道题可以发现,都属于**删除元素,最后返回有效数组的长度。那么这时候可以使用双指针**,p为初始化一个指针,指向数组nums的起始位置,然后遍历数组,根据题目找到满足的条件,这时候就将当前遍历的值赋值给nums[p],然后p++(前后顺序需要根据题目来解答),所以大概代码种会存在:p:=0//初始化......nums[p]=nums[i]p++(或者:p++nums[p]=nums[i
菜鸟要加油!
·
2024-01-23 09:20
leetcode
算法
数据结构
LeetCode-
题目整理【3】:买卖股票的最佳时机
买卖股票的最佳时机都是求最大利润,但是在没有限制,如121和122,动态规划稍微复杂一些,建议不用,到最后两道难题,题目有限制,使用动态规划通过求解子问题的最优解来逐步求解原问题的最优解。买卖股票的最佳时机给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大
菜鸟要加油!
·
2024-01-23 09:48
leetcode
算法
leetcode-
环形链表
141.环形链表题解:这个问题可以使用快慢指针的方法来解决。首先,我们创建一个虚拟头节点,并将虚拟头节点的下一个节点指向head。然后我们创建两个指针,一个快指针和一个慢指针。快指针每次移动两个节点,而慢指针每次移动一个节点。如果链表中存在环,那么快指针和慢指针最终会在环内的某个位置相遇。如果链表中不存在环,那么快指针会先到达链表的尾部。#Definitionforsingly-linkedlis
独孤--蝴蝶
·
2024-01-22 11:02
leetcode
Leetcode-
面试题 02.07 链表相交
面试题02.07.链表相交解题思路1.分析题意,两个链表时末尾相交,也就是说,只要知道两个链表从后往前最初的相等元素即可2.求链表A的长度、求链表B的长度3.让curA为最长链表的头,lenA为其长度4.求长度差,让curA和curB在同一起点上(末尾位置对齐)5.遍历curA和curB,遇到相同则直接返回解题遇到的问题无后续需要总结学习的知识点能否设计一个时间复杂度O(n)、仅用O(1)内存的解
itbird01
·
2024-01-20 23:36
leetcode-
杨辉三角ii
119.杨辉三角II题解:首先,我们需要创建一个列表来存储杨辉三角的每一行。然后,我们需要计算每一行的元素。每一行的每个元素都是上一行的两个相邻元素的和。第一个和最后一个元素总是1。最后,我们返回第rowIndex行。classSolution:defgetRow(self,rowIndex:int)->List[int]:res=[1]foriinrange(1,rowIndex+1):res.
独孤--蝴蝶
·
2024-01-19 08:03
leetcode
leetcode-
杨辉三角
118.杨辉三角题解:首先,我们需要创建一个二维列表,用于存储杨辉三角的每一行。然后,我们初始化第一行和第二行,因为杨辉三角的前两行是固定的。接下来,我们使用一个循环,从第三行开始,每一行的每个元素都是上一行的两个相邻元素的和。最后,我们返回生成的杨辉三角。classSolution:defgenerate(self,numRows:int)->List[List[int]]:ifnumRows=
独孤--蝴蝶
·
2024-01-19 08:27
leetcode
【
leetcode-
链表】旋转链表
【
leetcode-
链表】旋转链表题目:给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。
程序员小2
·
2024-01-18 17:06
【
leetcode-
链表】扁平化多级双向链表
【
leetcode-
链表】扁平化多级双向链表题目:多级双向链表中,除了指向下一个节点和前一个节点指针之外,它还有一个子链表指针,可能指向单独的双向链表。
程序员小2
·
2024-01-18 11:58
分割回文串-C语言实现-
中等难度
题目传送门文本给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。示例:输入:“aab”输出:[[“aa”,“b”],[“a”,“a”,“b”]]来源:力扣(LeetCode)模板/***Returnanarrayofarraysofsize*returnSize.*Thesizesofthearraysarereturnedas*returnColumnSize
小灰不停前进
·
2024-01-18 10:37
力扣刷题
leetcode
c语言
leetcode-
二叉树的最小深度
111.二叉树的最小深度#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defminDepth(self,root:Optional[TreeNod
独孤--蝴蝶
·
2024-01-17 09:01
leetcode
leetcode-
路径总和
112.路径总和#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defhasPathSum(self,root:Optional[TreeNode]
独孤--蝴蝶
·
2024-01-17 09:23
leetcode
【
leetcode-
字符串】单词拆分
【
leetcode-
字符串】单词拆分题目:给定一个非空字符串s和一个包含非空单词列表的字典wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。
程序员小2
·
2024-01-17 08:23
HackTheBox - Medium - Linux - Mentor
MentorMentor是一台
中等难度
的Linux机器,其路径包括在到达root之前在四个不同的用户之间切换。
Sugobet
·
2024-01-16 22:42
HackTheBox
HackTheBox
网络安全
linux渗透测试
配置错误
高考期间,你让考生睡午觉,他平时都不睡,能睡着吗
在高考时间,上午9:00一一11:30,要做练习题,套题或者是
中等难度
做过的题,加强速度和准确
无忧56
·
2024-01-16 21:23
leetcode-
二叉树的最大深度
104.二叉树的最大深度#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defmaxDepth(self,root:Optional[TreeNod
独孤--蝴蝶
·
2024-01-15 16:49
leetcode
leetcode-
删除排序链表中的重复元素
83.删除排序链表中的重复元素题解:要删除一个已排序链表中的所有重复元素,从而使每个元素只出现一次,我们可以使用一个指针来遍历这个链表,同时比较当前节点和它下一个节点的值。如果它们相等,我们就删除下一个节点,如果不相等,我们就移动指针。注:本题使用的是虚拟头节点#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=
独孤--蝴蝶
·
2024-01-15 16:19
leetcode
leetcode-
合并两个有序数组
88.合并两个有序数组题解:这是一个经典的双指针问题,我们可以使用两个指针分别指向nums1和nums2的最后一个元素,然后比较两个指针所指向的元素大小,将较大的元素放入nums1的末尾,并将对应的指针向前移动一位。重复这个过程,直到nums2的所有元素都被放入nums1中。classSolution:defmerge(self,nums1:List[int],m:int,nums2:List[i
独孤--蝴蝶
·
2024-01-15 16:19
leetcode
leetcode-
对称二叉树
101.对称二叉树题解:首先我们要清楚,对称二叉树,比较的不是左右节点,而是根节点的左右子树是不是相互翻转的。比较的是两个树。就是说左子树的左节点和右子树的右节点做比较,左子树的右节点和右子树的左节点做比较。我们使用递归方法。1.递归函数的参数和返回值前面已经说过了,比较的是两个树,自然是左子树和右子树节点返回值是bool类型compare(left,right)2.终止条件节点为空的情况左节点为
独孤--蝴蝶
·
2024-01-15 16:19
leetcode
leetcode-
二进制求和
67.二进制求和classSolution:defaddBinary(self,a:str,b:str)->str:result=''carry=0foriinrange(max(len(a),len(b))):a_bit=a[-(i+1)]ifi
独孤--蝴蝶
·
2024-01-15 16:18
leetcode
leetcode-
移除元素
27.移除元素此题和26.删除有序数组中的重复项题是一样的,都使用快慢指针classSolution:defremoveElement(self,nums:List[int],val:int)->int:slow=0forfastinrange(len(nums)):ifval!=nums[fast]:nums[slow]=nums[fast]slow+=1returnslow
独孤--蝴蝶
·
2024-01-15 16:48
leetcode
leetcode-
平衡二叉树
110.平衡二叉树#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defisBalanced(self,root:Optional[TreeNode
独孤--蝴蝶
·
2024-01-15 16:47
leetcode
leetcode-
将有序数组转换为二叉搜索树
108.将有序数组转换为二叉搜索树二叉搜索树的定义:首先它是有序树若其左子树不空,则左子树上所有节点的值均小于它的根节点的值若其右子树不空,则右子树上所有节点的值均大于它的根节点的值它的左、右子树也分别为二叉搜索树此题的题目中还强调了一点,高度平衡,这就需要知道平衡二叉树的概念:左子树和右子树的高度之差的绝对值不超过1左右子树都是平衡二叉树左右子树都是二叉搜索树#Definitionforabin
独孤--蝴蝶
·
2024-01-15 06:23
leetcode
15. 三数之和
【解题思路】本题为
中等难度
的题,但事实上,对题目本身的理解并不难,难得是细节,否则本题完全可以是简单
五点钟科技
·
2024-01-15 02:45
一起来刷题
#
和的问题
算法
数据结构
leetcode
刷题
python
(每周10题)之 leetcode题目 ---(14~16)
本周的3道题目,记录下,就当成一个练习的方式,出现题目简单与
中等难度
,还是比较适合的,其实题目就相当于我们的解决方式,学习更多就会写的更加多,提供的方法,学习的方法都可以,做题前可以看自己大脑如歌看,能在大脑中可以判断
比卡丘不皮
·
2024-01-14 22:09
leetCode
题目
leetcode
算法
c++
数据结构
【华为OD机试 Python】递归问题之考古学家
递归问题常常作为
中等难度
题目进行考查,经过博主对递归的研究,递归可大致分为“字符串”递归和“地图查找”递归,两种递归解决办法大同小异,原理都是深度优先算法。
从那开始
·
2024-01-12 17:06
华为od
python
华为
算法-
leetcode-
数组问题- 48. 旋转图像
文章目录旋转图像思路1:先行转列,再进行行内前后替换即可思路2:把matrix分成四部分:左上,右上,右下,左下四部分,一次旋转即可思路2优化:不用tmp存储直接交换即可旋转图像https://leetcode-cn.com/problems/rotate-image/思路1:先行转列,再进行行内前后替换即可第一步:矩阵转置,也就是行转列第二步:每一行进行对称对调packagecom.shangg
程序员不二
·
2024-01-12 07:28
算法
java
算法
leetcode
LeetCode-
好数对的数目
LeetCode-
好数对的数目题目描述给你一个整数数组nums。如果一组数字(i,j)满足nums[i]==nums[j]且i
抓起的第一个娃娃
·
2024-01-12 04:22
python
LeetCode
leetcode
LeetCode-
刷题 1512 好数对的数目
LeetCode-
刷题1512好数对的数目题目概述示例方法代码结果思考题目概述链接:link.给你一个整数数组nums。
XxxLittleOne
·
2024-01-12 04:52
LeetCode刷题记录
leetcode
动态规划
算法
最长回文子串(字符串,
中等难度
),3种解法总结归纳
一、题目给你一个字符串s,找到s中最长的回文子串。二、解题思路2.1、暴力求解法代码:publicStringlongestPalindrome(Strings){intmaxLen=1,start=0,len=s.length();char[]chars=s.toCharArray();if(s.length()maxLen)&&validPalindrome(chars,i,j)){maxLe
何以解忧,唯有..
·
2024-01-12 01:54
数据结构
leetcode
算法
动态规划
leetcode-
二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/\920/\157返回它的最大深度3。代码/***Definitionforabinarytreenode.*functionTreeNode(val){*this.val=val;*this.left=th
8239e604d437
·
2024-01-11 07:36
【leetcode】力扣算法之相交链表【
中等难度
】
题目描述给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。自定义评测:评测系统的输入如下(你设计的程序不适用此输入):intersectVal-相交的起始节点的值。如果不存在相交节点,这一值为0listA-第
小码哥Lvan
·
2024-01-11 05:28
算法
LeetCode力扣
算法
leetcode
链表
【leetcode】力扣算法之有效的数独【
中等难度
】
题目描述请你判断一个9x9的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)注意:一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则,验证已经填入的数字是否有效即可。空白格用‘.’表示。用例输入:board=[[“5”,“3”,“.
小码哥Lvan
·
2024-01-11 04:00
LeetCode力扣
算法
leetcode
算法
职场和发展
LeetCode-
搜索插入位置(35)
题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。思路:给定数组查找指定元素值的索引,如果元素值不存在于数组,就返回被顺序插入位置,并且时间复杂度要求O(logn),那么很自然就能想到使用二分查找,当二分查找找不到元素值时后面再去考虑顺序插入的情况。如果原数组不包括给定的元素
炙热的大叔
·
2024-01-11 00:44
leetcode
算法
LeetCode-
字符串转换整数atoi(8)
题目描述:请你来实现一个myAtoi(strings)函数,使其能将字符串转换成一个32位有符号整数(类似C/C++中的atoi函数)。函数myAtoi(strings)的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。确定最终结果是负数还是正数。如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结
炙热的大叔
·
2024-01-11 00:14
leetcode
算法
LeetCode-
棒球比赛(682)
题目描述:你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表ops,其中ops[i]是你需要记录的第i项操作,ops遵循下述规则:整数x-表示本回合新获得分数x“+”-表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。“D”-表示本回合新
炙热的大叔
·
2024-01-11 00:41
leetcode
算法
【leetcode】力扣算法之两数相加【
中等难度
】
题目描述给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0开头。用例输入:l1=[2,4,3],l2=[5,6,4]输出:[7,0,8]解释:342+465=807.输入:l1=[0],l2=[0]输出:[0]输入:l1=[9,9,9,9,9,9
小码哥Lvan
·
2024-01-10 16:25
算法
LeetCode力扣
算法
leetcode
职场和发展
算法-
leetcode-
滑动窗口问题- 438. 找到字符串中所有字母异位词
文章目录12,`438.找到字符串中所有字母异位词`思路1:暴力法思路2:滑动窗口法12,438.找到字符串中所有字母异位词https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/思路1:暴力法思路2:滑动窗口法packagecom.shangguigu.dachang.algrithm.A04_SlidingWindow;im
程序员不二
·
2024-01-10 15:53
算法
java
算法
leetcode
LeetCode-
面试题16.25 LRU缓存机制题解
运用你所掌握的数据结构,设计和实现一个LRU(最近最少使用)缓存机制。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intvalue)如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」
飞翔的乌龟
·
2024-01-10 07:18
Java
数据结构与算法
java
链表
数据结构
hashmap
HackTheBox - Medium - Linux - Shared
SharedShared是一台
中等难度
的Linux机器,它具有通向立足点的CookieSQL注入,然后通过对Golang二进制文件进行逆向工程并利用两个CVE来获得rootshell来提升权限。
Sugobet
·
2024-01-10 01:21
HackTheBox
Linux渗透测试
HackTheBox
网络安全
配置错误
HackTheBox - Medium - Linux - UpDown
UpDownUpDown是一台
中等难度
的Linux机器,暴露了SSH和Apache服务器。在Apache服务器上,有一个Web应用程序,允许用户检查网页是否已启动。
Sugobet
·
2024-01-10 01:20
HackTheBox
网络安全
HackTheBox
linux渗透测试
配置错误
Web
HackTheBox - Medium - Linux - Ambassador
AmbassadorAmbassador是一台
中等难度
的Linux机器,用于解决硬编码的明文凭据留在旧版本代码中的问题。
Sugobet
·
2024-01-10 01:20
HackTheBox
HackTheBox
网络安全
linux渗透测试
配置错误
过时的易受攻击应用
HackTheBox - Medium - Linux - Awkward
AwkwardAwkward是一款
中等难度
的机器,它突出显示了不会导致RCE的代码注入漏洞,而是SSRF、LFI和任意文件写入/追加漏洞。
Sugobet
·
2024-01-10 01:19
HackTheBox
HackTheBox
网络安全
linux渗透测试
配置错误
Web
【leetcode】力扣算法之删除链表中倒数第n个节点【
中等难度
】
删除链表中倒数第n个节点给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。用例输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]输入:head=[1],n=1输出:[]输入:head=[1,2],n=1输出:[1]提示链表中结点的数目为sz1<=sz<=300<=Node.val<=1001<=n<=sz示例代码解法1:普通解法varremoveNthFromEnd
小码哥Lvan
·
2024-01-10 00:22
算法
LeetCode力扣
算法
leetcode
链表
LeetCode-
重复的子字符串(459)
题目描述:给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。思路一:使用枚举的方法。首先因为字符串s有一个子串重复多次构成,那么s的长度len与子串的长度subLen应该成倍数关系,并且在s中索引为i的字符应该与索引为i+subLen的字符相等。根据这些我们可以首先设置一个循环对从1到len/2的子串长度进行处理(因为子串至少重复一次所以最大长度为len/2),接着判断子串长度是
炙热的大叔
·
2024-01-08 11:51
leetcode
算法
LeetCode-
移动零(283)
题目描述:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。思路:这里的思路跟以前做过的去重复数字的思路有点像,快指针也就是for循环中的i遍历元素,慢指针也就是count指向存储元素得到位置,当然只有当遍历的数字不是0的时候才会存储该数字至count指向的位置,并且count+1。完成存储的for循环之后,
炙热的大叔
·
2024-01-08 11:51
leetcode
算法
数据结构
LeetCode-
加一(66)
题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储单个数字。你可以假设除了整数0之外,这个整数不会以零开头。思路:这里主要分三种情况,第一种全是9就要扩大数字尺寸然后0位置为1其他位置值为0,第二种情况末尾位置数字小于9,直接将末尾位置数字加一即可,第三种可能尾部出现连续的9,同理尾部置0,直至倒数最后一个9的位置,并且在此
炙热的大叔
·
2024-01-08 11:20
leetcode
算法
数据结构
LeetCode-
合并两个有序链表
题目链接=>戳这里题目截图解法/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(intx){val=x;}*}*/classSolution{publicListNodemergeTwoLists(ListNodel1,ListNodel2){ListNodemergeLi
沙漠小舟
·
2024-01-07 22:32
上一页
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
其他