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
HOT100
力扣
hot100
4*寻找两个正序数组的中位数(二分查找)待补充
目录题目介绍题解1(归并排序思想)解法二:为使时间复杂度达到O(log(M+N)),典型的二分查找思路关于二分查找的热身题目:hot10035本题解法:题目介绍题解1(归并排序思想)思路:因为已经有序,所以只需要先合并两个数组,然后找出中位数即可,时间复杂度为O(M+N)classSolution:deffindMedianSortedArrays(self,nums1:List[int],num
大地之灯
·
2024-01-22 20:58
leetcode
leetcode
算法
【代码随想录+力扣
hot100
】双指针
文章目录27.移除元素思路:代码:26.删除有序数组中的重复项代码:思路一:重复元素必相邻思路二:从第一个位置开始考虑快慢指针977.有序数组的平方思路:代码:283.移动零代码:思路1:直接快慢指针思路2:1次遍历(快排)844.比较含退格的字符串代码:参考题解理解思路一:从后向前双指针思路二:模拟栈344.翻转字符串代码:151.反转字符串中的单词代码:思路一:思路二:206.反转链表思路:1
echoliuy
·
2024-01-22 20:28
leetcode
java
算法
力扣记录:
Hot100
(1)——1-19
本次题目1两数之和2两数相加3无重复字符的最长子串4寻找两个正序数组的中位数5最长回文子串10正则表达式匹配11盛最多水的容器15三数之和17电话号码的字母组合19删除链表的倒数第N个结点1两数之和之前做过,使用HashMap存储数组中的数及其下标,遍历查找哈希表中是否存在目标值减当前值,注意两数下标应不同。时间复杂度O(n),空间复杂度O(n)classSolution{publicint[]t
Kiwi_fruit
·
2024-01-22 20:25
Hot100
LeetCode
leetcode
算法
数据结构
【力扣
hot100
】二分查找
文章目录Arrays.sort()时间复杂度o(n)二分法时间复杂度o(logn)1.搜索插入位置代码2.搜索二维矩阵思路:代码:34.在排序数组中查找元素的第一个和最后一个位置思路:代码:153.寻找旋转排序数组中的最小值思路:代码:81.搜索旋转排序数组思路:代码4.寻找两个正序数组的中位数[hard]思路:还没看,不会做Arrays.sort()时间复杂度o(n)二分法时间复杂度o(logn
echoliuy
·
2024-01-22 20:55
leetcode
算法
数据结构
【算法
Hot100
系列】字母异位词分组
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2024-01-22 19:59
s6
算法与数据结构
算法
hot100
:09找到字符串中所有字母异位词
题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台算法思想:因为字符串中的字符全是小写字母,可以用长度为26的数组记录字母出现的次数设n=len(s),m=len(p)。记录p字符串的字母频次p_cnt,和s字符串前m个字母频次s_cnt若p_cnt和s_cnt相等,则找到第一个异位词索引0继续遍历s字符串索引为[m,n)的字母,在s_cnt中每次增加一个新字母,去除一个旧字母判断
蜡笔小心眼子!
·
2024-01-22 14:44
OJ题目讲解
算法
leetcode
java
hot100
:06三数之和
题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台算法思想:使用双指针的思想,首先需要先对数组进行排序,让数组满足单调性,这样在相加的时候更加方便更新条件;再遍历数组,遍历数组的目的就是确定一个数nums[i],然后在剩下的数中找到两个数时其相加等于-nums[i],这样三个数相加的结果就是0了注意:结果要求返回的三元组不能是重复的,所以每找到一组三元组的时候,更新left和rig
蜡笔小心眼子!
·
2024-01-22 14:14
OJ题目讲解
排序算法
算法
leetcode
java
hot100
:07接雨水
题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台算法思想:这里采取的是暴力解法和双指针的解法,但是这个题目还有其他的两种解法(单调栈和动态规划,同学可以自行了解)首先,在说算法思想之前,我们需要搞懂题目的意思,什么样情况属于可以接到雨水,如何相加,下面看一幅图来了解一下:对于i下标对应的元素来说,它需要先找到左右两边的最大高度(要保证两边的高度都得大于i对应的高度),找到之后选择
蜡笔小心眼子!
·
2024-01-22 14:14
OJ题目讲解
算法
leetcode
java
hot100
:08无重复字符的最长子串
题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台算法思想:使用滑动窗口的思想来解决,定义两个指针left和right均指向下标0,right指针用来遍历字符串,将right指针对应的元素入窗口,定义一个哈希表,哈希表用来存储对应字符出现的次数,每次入窗口之后要进行判断,判断窗口内是否出现重复字符,如果有重复字符需要出窗口,通过left指针完成出窗口的操作(从哈希表中删除该字符),
蜡笔小心眼子!
·
2024-01-22 14:43
OJ题目讲解
哈希算法
散列表
算法
java
leetcode
力扣
hot100
找到字符串中所有字母异位词 滑动窗口 双指针 一题双解
Problem:438.找到字符串中所有字母异位词文章目录思路滑动窗口+数组滑动窗口+双指针思路参考题解滑动窗口+数组⏰时间复杂度:O(n)O(n)O(n)空间复杂度:O(1)O(1)O(1)classSolution{//滑动窗口+数组publicListfindAnagrams(Strings,Stringp){intn=s.length();intm=p.length();Listans=
兑生
·
2024-01-20 16:42
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
分割等和子集 变形01背包 滚动数组优化
Problem:416.分割等和子集文章目录思路01背包复杂度Code滚动数组优化复杂度Code思路参考地址01背包复杂度时间复杂度:O(nm)O(nm)O(nm):mmm为数组元素和的一半空间复杂度:O(nm)O(nm)O(nm)CodeclassSolution{publicbooleancanPartition(int[]nums){intn=nums.length;intsum=0;fo
兑生
·
2024-01-20 16:42
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
最长有效括号 动态规划
Problem:32.最长有效括号文章目录思路Code思路参考题解Code⏰时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)classSolution{publicintlongestValidParentheses(Strings){intn=s.length();int[]f=newint[n];//f[i]表示以第i个字符结尾的最长有效子字符串的长度intans=0
兑生
·
2024-01-20 16:40
力扣
hot100
leetcode
动态规划
算法
跳跃游戏(
HOT100
)
✊✊✊大家好!本篇文章将较详细介绍贪心相关的题目55.跳跃游戏,提供两种解法。代码语言为:C++代码。导航小助手55.跳跃游戏1、题目:☀️2、解法一:3、代码:☀️4、解法二:5、代码:55.跳跃游戏1、题目:给你一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。示
君莫笑lucky
·
2024-01-20 12:03
hot
100
leetcode
算法
【算法
Hot100
系列】接雨水
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2024-01-18 20:02
s6
算法与数据结构
算法
力扣
hot100
乘积最大子数组 DP
Problem:152.乘积最大子数组文章目录思路复杂度Code思路参考题解复杂度时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)CodepublicclassSolution{publicintmaxProduct(int[]nums){intn=nums.length;if(n==0)return0;//f[i][0]:以nums[i]结尾的连续子序列乘积最小值//f
兑生
·
2024-01-18 16:05
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
最长递增子序列 线性DP 贪心 二分
Problem:300.最长递增子序列文章目录动态规划思路复杂度Code贪心+二分思路复杂度Code动态规划思路复杂度时间复杂度:O(n2)O(n^2)O(n2)空间复杂度:O(n)O(n)O(n)CodeclassSolution{publicintlengthOfLIS(int[]nums){intn=nums.length;int[]f=newint[n+1];//f[i]表示以nums[i
兑生
·
2024-01-18 16:05
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
单词拆分 变形背包 排列
Problem:139.单词拆分文章目录思路复杂度Code思路参考题解复杂度时间复杂度:O(n3)O(n^3)O(n3)CodeclassSolution{publicbooleanwordBreak(Strings,ListwordDict){Setset=newHashSet<>(wordDict);boolean[]f=newboolean[s.length()+1];Arrays.fil
兑生
·
2024-01-18 15:32
力扣
hot100
leetcode
算法
职场和发展
前 K 个高频元素(
HOT100
)
✊✊✊大家好!本篇文章将较详细介绍堆的题目347.前K个高频元素,利用最小堆进行求解。代码语言为:C++代码。导航小助手347.前K个高频元素1、题目:☀️2、思路:3、代码:347.前K个高频元素1、题目:给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。示例1:输入:nums=[1,1,1,2,2,3],k=2输出:[1,2]示例2:输入:num
君莫笑lucky
·
2024-01-18 04:26
hot
100
leetcode
算法
c++
力扣
hot100
零钱兑换 背包 滚动数组
Problem:322.零钱兑换文章目录思路Code思路大佬题解Code⏰时间复杂度:O(n)O(n)O(n)classSolution{publicintcoinChange(int[]coins,intamount){intINF=0x3f3f3f3f;intn=amount;int[]f=newint[n+1];Arrays.fill(f,INF);f[0]=0;for(inti=0;i<
兑生
·
2024-01-17 19:57
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
杨辉三角 递归 DP
Problem:118.杨辉三角文章目录思路复杂度DP从下往上递归思路参考地址复杂度时间复杂度:添加时间复杂度,示例:O(n)O(n)O(n)空间复杂度:添加空间复杂度,示例:O(n)O(n)O(n)DPclassSolution{publicList>generate(intnumRows){List>ans=newArrayList());ans.get(0).add(1);//第一行固定是
兑生
·
2024-01-17 19:27
力扣
hot100
leetcode
算法
力扣
hot100
完全平方数 完全背包 滚动数组 四平方和定理
Problem:279.完全平方数文章目录思路完全背包滚动数组优化四平方和定理思路三叶神解数学解法完全背包⏰时间复杂度:O(n2n)O(n^2\sqrt{n})O(n2n)classSolution{intINF=0x3f3f3f3f;publicintnumSquares(intn){Listlist=newArrayList<>();intt=1;while(t*t<=n){list.ad
兑生
·
2024-01-17 19:27
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
打家劫舍 DP 滚动数组
Problem:198.打家劫舍文章目录思路复杂度CodeDP空间优化版思路参考地址复杂度时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)CodeclassSolution{publicstaticintrob(int[]nums){intn=nums.length;if(n==1)returnnums[0];int[]f=newint[n+1];//f[i]表示在前i间
兑生
·
2024-01-17 19:55
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
二叉树中的最大路径和 递归
Problem:124.二叉树中的最大路径和文章目录解题方法复杂度Code解题方法参考思路复杂度时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)Code/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNo
兑生
·
2024-01-17 06:09
力扣
hot100
leetcode
算法
职场和发展
力扣
hot100
颜色分类 双指针 滚动赋值
Problem:75.颜色分类文章目录思路解题方法复杂度Code超简洁版思路解题方法描述你的解题方法复杂度时间复杂度:O(n)O(n)O(n)空间复杂度:O(1)O(1)O(1)CodeclassSolution{publicvoidsortColors(int[]nums){intn=nums.length;intp0=0;//当前已知的最后一个0在数组中的下标(0元素的个数)intp2=n-1
兑生
·
2024-01-17 06:09
力扣
hot100
leetcode
算法
职场和发展
【力扣
HOT100
】有效的括号(及其进阶版)
题目给定一个只包括‘(’,‘)’,‘{’,‘}’,‘[’,‘]’的字符串s,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。示例1:输入:s=“()”输出:true示例2:输入:s=“()[]{}”输出:true示例3:输入:s=“(]”输出:false示例4:输入:s=“([)]”输出:false示例5:输入:s=“{[]}”输出:tr
byte_stuffing
·
2024-01-17 05:27
算法
leetcode
算法
java
力扣算法 Java 刷题笔记【回溯算法篇 DFS】
hot100
(一)全排列 、子集 、组合 4
文章目录1.全排列(中等)2.全排列II(中等)3.子集(中等)4.组合(中等)1.全排列(中等)地址:https://leetcode-cn.com/problems/permutations/2022/01/23做题反思:classSolution{List>res=newLinkedList>permute(int[]nums){LinkedListtrack=newLinkedListtr
心海非海_
·
2024-01-17 01:28
数据结构与算法
leetcode
算法
java
回溯
leetcode
hot100
之 全排列
题目给定一个无重复元素的整型数组,返回其所有排列。输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]原题链接:https://leetcode-cn.com/problems/permutations/思路直接上回溯。按排列的基本思路即可。先选第一位,再选第二位,直到所有位都选完。假设有n个数字,则第一位有n种选法
smallplum123
·
2024-01-17 01:55
LeetCode
leetcode
算法
职场和发展
LeetCode
Hot100
46.全排列
题目:给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。代码:classSolution{privateint[]nums;privateListpath;//记录路径上的数,已选数字privateboolean[]onPath;//记录剩余未选数字privatefinalList>ans=newArrayList>permute(int[]nums){this
hn小菜鸡
·
2024-01-17 01:54
算法刷题-回溯
leetcode
算法
职场和发展
LeetCode 热题 HOT 100 第21天:“全排列”
继续刷LeetCode热题
HOT100
的题目,并且在博客更新我的solutions。在csdn博客中我会尽量用文字解释清楚,相关Java代码大家可以前往我的个人博客jinhuaiyu.com中查看。
ultimate小锦
·
2024-01-17 01:53
LeetCode
leetcode
算法
【算法
Hot100
系列】全排列
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2024-01-17 01:21
s6
算法与数据结构
算法
leetcode 题解
hot100
系列 5.盛水最多的容器
11.盛水最多的容器给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。思路:双指针,左右两侧的指针分别从左往右和从右往左移动,每次计算面积,将最大值记住,然后比较两侧指针指向的高度大小,谁小说明谁是影响面积的那一个,所以将其
城南顾北
·
2024-01-16 19:25
算法
leetcode
算法
刷题
leetcode 题解
hot100
系列 6.三数之和
15.三数之和给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。输入:nums=[-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]解释:nums[0]+num
城南顾北
·
2024-01-16 19:25
算法
leetcode
算法
职场和发展
相邻字符不同的最长路径(
HOT100
)
✊✊✊大家好!本篇文章将较详细介绍一般树的直径的题目,并进行代码实现。代码语言为:C++代码。导航小助手2246.相邻字符不同的最长路径1、题目:☀️2、思路:3、代码:2246.相邻字符不同的最长路径1、题目:给你一棵树(即一个连通、无向、无环图),根节点是节点0,这棵树由编号从0到n-1的n个节点组成。用下标从0开始、长度为n的数组parent来表示这棵树,其中parent[i]是节点i的父节
君莫笑lucky
·
2024-01-16 17:36
c++学习
数据结构
hot
100
leetcode
算法
LeetCode刷题——二叉树的直径、二叉树中的最大路径(
HOT100
)
✊✊✊大家好!本篇文章将较详细介绍二叉树的直径的相关题目,并进行代码实现。代码语言为:C++代码。导航小助手543.二叉树的直径1、题目:☀️2、思路:3、代码:124.二叉树中的最大路径和1、题目:☀️2、思路:3、代码:543.二叉树的直径1、题目:给你一棵二叉树的根节点,返回该树的直径。二叉树的直径是指树中任意两个节点之间最长路径的长度。这条路径可能经过也可能不经过根节点root。两节点之间
君莫笑lucky
·
2024-01-16 17:36
c++学习
hot
100
leetcode
算法
深度优先
字符串解码(
HOT100
)
✊✊✊大家好!本篇文章将较详细介绍栈的题目394.字符串解码,提供栈和递归两种解法。代码语言为:C++代码。导航小助手394.字符串解码1、题目:☀️2、思路:3、代码:394.字符串解码1、题目:给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。你可以认为输入字符串总是
君莫笑lucky
·
2024-01-16 17:59
hot
100
leetcode
算法
c++
力扣
Hot100
第34题——在排序数组中查找元素的第一个和最后一个位置(Python)
题目描述:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。示例1:输入:nums=[5,7,7,8,8,10],target=8输出:[3,4]示例2:输入:nums=[5,7,7,8,8,10],target=
不知道叫什么H
·
2024-01-14 01:12
LeetCode
leetcode
算法
数据结构
## leetcode
hot100
(34) 在排序数组中查找元素的第一个和最后一个位置
leetcodehot100(34)在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。进阶:你可以设计并实现时间复杂度为O(logn)的算法解决此问题吗?示例1:输入:nums=[5,7,7,8,8,10],target=8输出:[3,4]示
weixin_44384252
·
2024-01-14 01:40
算法
数据结构
LeetCode 热题 HOT 100之在排序数组中查找元素的第一个和最后一个位置
LeetCode热题
HOT100
之在排序数组中查找元素的第一个和最后一个位置题目34:给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。
Rocky_96
·
2024-01-14 01:10
计算机基础
leetcode
算法
leetcode
hot100
之 在排序数组中查找元素的第一个和最后一个位置
题目给定升序数组,数组中的元素有可能会重复。给定一个target,找出target在数组中的起始和末尾的下标。如果不存在则返回[-1,-1]。输入:nums=[5,7,7,8,8,10],target=8输出:[3,4]原题链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-ar
smallplum123
·
2024-01-14 01:40
LeetCode
leetcode
排序算法
算法
LeetCode
Hot100
34.在排序数组中查找元素的第一个和最后一个位置
题目:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。方法:两次二分查找,一次查开始位置,一次查结束位置classSolution{publicint[]searchRange(int[]nums,inttarg
hn小菜鸡
·
2024-01-14 01:39
算法刷题-二分查找
leetcode
算法
数据结构
LeetCode 热题 HOT 100 第18天:“在排序数组中查找元素的第一个和最后一个位置”
继续刷LeetCode热题
HOT100
的题目,并且在博客更新我的solutions。在csdn博客中我会尽量用文字解释清楚,相关Java代码大家可以前往我的个人博客jinhuaiyu.com中查看。
ultimate小锦
·
2024-01-14 01:09
LeetCode
leetcode
算法
二分查找
【Leetcode
HOT100
】在排序数组中查找元素的第一个和最后一个位置 c++
题目描述:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。示例1:输入:nums=[5,7,7,8,8,10],target=8输出:[3,4]示例2:输入:nums=[5,7,7,8,8,10],target=
minus haha
·
2024-01-14 01:09
leetcode
c++
二分法
特殊二分法
数组查找
【
Hot100
】34. 在排序数组中查找元素的第一个和最后一个位置
34.在排序数组中查找元素的第一个和最后一个位置中等题给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。题解:在一个范围内,查找一个数字,要求找到这个元素的开始位置和结束位置,这个范围内的数字都是单调递增的,即具有
王六六同学
·
2024-01-14 01:39
leetcode刷题
#
力扣hot
100
算法
数据结构
leetcode
刷题笔记
Hot100
34. 在排序数组中查找元素的第一个和最后一个位置
根据题意,显然需要使用二分查找解决问题,下面给出递增数组的二分查找模板注:使用二分查找时,数组必须有序publicintbinarySearch(int[]nums,inttarget){intleft=0,right=nums.length-1;while(leftnums[mid]){//数组递增,target比当前值大,到右半边寻找left=mid+1;}elseif(targetnums[
春种一粒粟秋收一粒米
·
2024-01-14 01:38
算法
leetcode
数据结构
LeetCode
Hot100
34. 在排序数组中查找元素的第一个和最后一个位置
分析:个人习惯:这种需要命中target的找数的题直接用二分法lowmidhight三个指针思路:1.先找到这个target数存在的位置,找不到直接return{-1,-1}2.找到这个数了以后,二分法的特性,nums[mid]==target是肯定的了。那么就令从这个数当前的位置(low=high=mid)3.只要low有上一个元素,并且上一个元素==target那就继续往前找low--只要hi
FlowShip
·
2024-01-14 01:08
leetcode
算法
java
【算法
Hot100
系列】在排序数组中查找元素的第一个和最后一个位置
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2024-01-14 01:06
s6
算法与数据结构
算法
[力扣
Hot100
]Day4 移动零
题目描述给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。出处思路类似于冒泡,把零向右移。代码classSolution{public:voidmoveZeroes(vector&nums){vector::iteratorzero=nums.end();vector::iteratorwork=nums.b
谛听misa
·
2024-01-13 11:09
力扣Hot100题
leetcode
算法
c++
【算法
Hot100
系列】外观数列
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,M
檀越剑指大厂
·
2024-01-12 13:22
s6
算法与数据结构
算法
[力扣
Hot100
]Day3 最长连续序列
题目描述给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。出处思路此题可用带排序的哈希表,先构建哈希表,然后遍历哈希表,维护一个工作数和一个最长记录(初始值均为1),若相邻两个哈希表项的key相差1,则工作数++,否则视情况更新最长记录并把工作数归1。value不起作用,题目无需考虑存在多个相同key
谛听misa
·
2024-01-12 04:17
力扣Hot100题
leetcode
哈希算法
散列表
[力扣
Hot100
]Day2 字母异位词分组
题目描述给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。出处思路这题有点考阅读理解,意思就是把输入数组中的所含字母相同但顺序不同的单词放到同一个数组里,最后拿一个大数组把各个数组都包括进去。可以将字符串排序后作为key,使用哈希表存储。代码classSolution{public:unordered_map>has
谛听misa
·
2024-01-12 04:12
力扣Hot100题
leetcode
算法
上一页
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
其他