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-双指针
其他算法-042-和为S的两个数字(
双指针
思想)
文章目录题目描述分析代码题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。分析方法一:双层循环,暴力解法,得到所有两数之和,时间复杂度为O(n2n^2n2)。方法二:充分利用数组递增有序的特性,设置两指针到数组的两头,和大了,减小大指针,和小了,增大小指针,相等
_zZhe
·
2020-09-15 06:26
剑指
offer
其他算法
和为S的两个数
【leetcode1】两数之和
示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]题目来源:力扣(LeetCode)链接:https://
leetcode-
Luts
·
2020-09-15 06:08
算法学习
Perfect Squares -
leetcode-
高级
'''给定正整数n,找到若干个完全平方数(比如1,4,9,16,...)使得它们的和等于n。你需要让组成和的完全平方数的个数最少。示例1:输入:n=12输出:3解释:12=4+4+4.示例2:输入:n=13输出:2解释:13=4+9.''''''解法一:思路很简单和前面的硬币那个差不多https://blog.csdn.net/wqtltm/article/details/81430004,就不多
wqtltm
·
2020-09-15 06:35
leetcode
牛客66道编程题—— 和为s的两个数字
方法:
双指针
法classSolution:defFindNumbersWithSum(self,array,tsum):#writecodehereifarray==[]:#判断边界条件return[]
Swan陳
·
2020-09-15 06:53
【Java语言】剑指offer系列之链表、
双指针
法----链表中环的入口结点
分析://
双指针
法(快慢指针),快指针每次走两步,慢指针每次走一步,若两者能够相遇,则证明存在环。建议画图。
一只小白的奋斗历程
·
2020-09-15 06:47
数据结构与算法基础
牛客网
剑指offer
指针
链表
java
单链表
【Java语言】剑指offer系列之链表、
双指针
法---链表中倒数第k个结点
ListNode(intval){this.val=val;}}*/publicclassSolution{publicListNodeFindKthToTail(ListNodehead,intk){//
双指针
法
一只小白的奋斗历程
·
2020-09-15 06:47
数据结构与算法基础
剑指offer
牛客网
指针
链表
java
数据结构
单链表
leetcode 141. 环形链表(Linked List Cycle)
原题链接还是
双指针
比较好,哈希表当然也是不错的做法,下面我试着2个都实现~~
双指针
一快一满,当是环形的时候,fast会追上slow哈希表就把node都放进表里,有相同地址的node就说明是环形
双指针
/*
一叶之修
·
2020-09-15 06:01
面试
算法
leetcode
剑指offer JZ14:链表中倒数第k个结点
这里运用一个非常巧妙的
双指针
算法:要输出倒数第k项,只需要让一个指针先跑k-1项,再让两个指针同时向后移动,当第一个指针到达队尾时,第二个指针指向的自然就是倒数第k项了。注意对于k>n
Qiucen Wu
·
2020-09-15 06:51
剑指offer
leetcode-
动态规划-打家劫舍问题
198.打家劫舍classSolution{public:introb(vector&nums){intsize=nums.size();if(size==0){return0;}intdp[size+2];memset(dp,0,sizeof(dp));//basecase:dp[n]=0//dp数组:dp[i]表示从第i间房子开始抢劫for(inti=size-1;i>=0;i--){dp[i
kukufufu
·
2020-09-15 06:50
刷题
C++
输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。
由于是有序的,可以用
双指针
来做。第一个指针i指向a[0],第二个j指向a[n-1],若a[i]+a[j]>v,j--;若a[i]+a
u013322907
·
2020-09-15 05:41
100题
【
LeetCode-
算法】 62. 不同路径(Java实现)
题目一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?说明:m和n的值均不超过100。示例1输入:m=3,n=2输出:3解释:从左上角开始,总共有3条路径可以到达右下角。1.向右->向右->向下2.向右->向下->向右3.向下->向右->向右示例2输
fan23_0708
·
2020-09-15 05:55
LeetCode
验证回文串
"Aman,aplan,acanal:Panama"输出:true示例2:输入:"raceacar"输出:false题目分析:首先字符串中多余的字符不在考虑的范围之类,而如果字符串是回文串,则可以设置
双指针
Wang.T
·
2020-09-15 05:58
数据结构
剑指Offer-在排序数组中查找数字 I
示例1:输入:nums=[5,7,7,8,8,10],target=8输出:2示例2:输入:nums=[5,7,7,8,8,10],target=6输出:0思路一
双指针
。
Ga_Lip
·
2020-09-15 05:11
数据结构与算法
LeetCode总结:
双指针
在链表中的应用
删除链表的倒数第n个节点——LeetCode19 思路:使用两个指针,第一个指针first先走n步,若此时first为空,则待删除的节点是第一个节点;若first不为空,则同时将first和second指针向前移动,并且first指针超前second指针n个节点,当first为空时,second指向的节点即为倒数第n个节点。需要注意的是,由于要删除倒数第n个节点,故需要知道倒数第n+1个节点的位
Stoneplay26
·
2020-09-15 05:54
LeetCode
算法
【LeetCode】345. 反转字符串中的元音字母(Reverse Vowels of a String)
示例:输入:"hello"输出:"holle"解题思路:
双指针
典型题目,注意元音字母不要只考虑小写的。
str_818
·
2020-09-15 05:19
LeetCode
【Golang】
LeetCode-
剑指Offer-面试题60-n个骰子的点数
题目把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第i个元素代表这n个骰子所能掷出的点数集合中第i小的那个的概率。示例1:输入:1输出:[0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]示例2:输入:2输出:[0.02778,0.05556,0.08333,0.111
士多啤梨先生
·
2020-09-15 05:10
LeetCode力扣个人题解
算法
动态规划
leetcode
go
数据结构
leetcode-
二叉树的前序、中序、后序、层序的递归和非递归实现
文章目录1.二叉树的遍历2.前序遍历2.1.递归实现2.2.非递归实现3.中序遍历3.1.递归实现3.2.非递归实现4.后序遍历4.1.递归实现4.2.非递归实现5.层序遍历1.二叉树的遍历面试中,尤其是校招面试中(哈哈,社招面试估计是嫌这种题目太简单,不屑于考察),经常被问到的一个题目就是二叉树的各种遍历算法,而我们常见的二叉树的遍历方式有前序遍历、中序遍历、后序遍历、层序遍历,所谓的前序/中序
看穿数据之美
·
2020-09-15 05:51
LeetCode
算法
数据结构
双指针
leetcode十五题
双指针
leetcode十五题
双指针
:一般代表用多个指针指向不同得位置,通过指针得移动来解决问题得变动1.两数之和2-输入有序数组给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。
未来谁可知
·
2020-09-15 05:13
java算法
数据结构
java
算法
剑指Offer59-I:滑动窗口的最大值(Java)
首先构造
双指针
,一个在前,一个在后,这样就可以构成一个滑动窗口。因为滑动窗口的大小是k,因此我们也可以使用一个指针来完成。
二十六桥明月夜
·
2020-09-15 04:56
数据结构和算法
指针
leetcode
java
动态规划
数据结构
剑指Offer57-II:和为s的连续正数序列(Java)
其实也有点像
双指针
,不过上题使用的是碰撞
双指针
,这题不是。左指针是窗口的左边界,也就是
二十六桥明月夜
·
2020-09-15 04:55
数据结构和算法
数据结构
java
指针
leetcode
【剑指Offer】和为S的连续正数序列(
双指针
)
题目链接:https://www.nowcoder.com/practice/c451a3fd84b64cb19485dad758a55ebe?tpId=13&tqId=11194&tPage=3&rp=3&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出
fuqiuai
·
2020-09-15 04:45
剑指Offer
java数组中的字符串匹配(
双指针
简单解法)
文章目录数组中的字符串匹配方法一,先排序再比较方法二方法三其他数组中的字符串匹配给你一个字符串数组words,数组中的每个字符串都可以看作是一个单词。请你按任意顺序返回words中是其他单词的子字符串的所有单词。如果你可以删除words[j]最左侧和/或最右侧的若干字符得到word[i],那么字符串words[i]就是words[j]的一个子字符串。示例1:输入:words=["mass","as
怪我冷i
·
2020-09-15 04:26
零基础学数据结构
acm
字符串
leetcode
算法
java
指针
快排之递归与非递归
这个函数有两种写法,单指针版和
双指针
版。下面给出C++代码://单指针分割intsinglePartition(vector&nums,intbegin,inten
ZesenChen
·
2020-09-15 04:42
编程题:和为S的两个数
解题思路:思路:读题,注意数组是递增排序,很容易想到的就是二分查找和头尾
双指针
的解法。初步估
TracelessLe
·
2020-09-15 04:01
#
编程题
数据结构
算法
剑指offer
数组
技术图文:
双指针
在链表问题中的应用
在做题的过程中,同学们讨论比较多的是链表中遇到的问题,我在这里为大家总结一下,
双指针
在链表问题中的应用。
老马的程序人生
·
2020-09-15 04:02
C#学习
数据结构与算法
LeetCode-
动态规划总结(三)
最长公共子序列对于两个子序列S1和S2,找出它们最长的公共子序列。定义一个二维数组dp用来存储最长公共子序列的长度,其中dp[i][j]表示S1的前i个字符与S2的前j个字符最长公共子序列的长度。考虑S1i与S2j值是否相等,分为两种情况:当S1i==S2j时,那么就能在S1的前i-1个字符与S2的前j-1个字符最长公共子序列的基础上再加上S1i这个值,最长公共子序列长度加1,即dp[i][j]=
HUANG Zichen
·
2020-09-15 04:09
coding
剑指offer:和为S的两个数字——扩展
要点:1、递增排序2、和为S3、乘积最小,a*b=S,要使乘积最小,也就是|a-b|最大;乘积最大,也就|a-b|最小乘积最小方法及思路:1、
双指针
min和max:a[min]+a[max]等于sum,
一点点搞
·
2020-09-15 04:56
题库总结
剑指offer 和为S的两个数字 (
双指针
)
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。Solution1时间复杂度O(n),空间复杂度O(n)。classSolution:defFindNumbersWithSum(self,array,tsum):importfunctoolshashmap={
sunlanchang
·
2020-09-15 04:49
牛客网
剑指
offer
算法----双指针
剑指offer之 关于
双指针
指向链表
目前遇到了两例用
双指针
来解题的。第二十二题,输出链表倒数第k个节点!思路:用两个指针,第一个指针先走k个节点,然后第二个指针指向首节点,两个一起走,直到先走的那个指针下一个为空。
汝之宿命
·
2020-09-15 04:11
剑指offer
剑指offer
剑指Offer Java版
双指针
在链表中的应用
所谓
双指针
,指的是在遍历对象的过程中,不是使用单个指针进行访问,而是使用两个相同方向或者相反方向的指针进行遍历,从而达到相应的目的。
qq_28251907
·
2020-09-15 04:59
剑指Offer
Java
算法
java
算法
链表
leetcode-
根据中序遍历和后序遍历重构二叉树 思路与代码
问题描述问题链接:https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/leetcode,medium106:ConstructBinaryTreefromInorderandPostorderTraversal给定树的中序遍历和后序遍历,请构建原来的二叉树。假设不存在重复的
看穿数据之美
·
2020-09-15 04:40
LeetCode
算法
数据结构
和为S的两个数字,编程题解法思路
和为S的两个数字题目描述题目分析乘积最小证明暴力解法优化O(nlgn)O(nlgn)O(nlgn)技巧解法O(n)O(n)O(n)
双指针
原理探究C++代码实现题目描述 输入一个递增排序的数组和一个数字
August-us
·
2020-09-15 04:35
算法
[2021校招必看之Java版《剑指offer》-42] 和为S的两个数字
知识点:数学,数组,
双指针
。 难度:☆2、解题思路 注意到本题的关键信息:递增排序。 定义两个指针i和j,开始分别指向头和尾。 这里包含一个数学原理,对于一个递增序列来说,外部
学哥斌
·
2020-09-15 03:38
剑指offer(Java语言)
数据结构
算法
java
leetcode
剑指offer
LeetCode 209: 长度最小的子数组
目录LeetCode209:长度最小的子数组题目描述解题
双指针
循环二分查找LeetCode209:长度最小的子数组题目描述给定一个含有n个正整数的数组和一个正整数s,找出该数组中满足其和≥s的长度最小的连续子数组
s_Shune
·
2020-09-14 23:46
LeetCode
leetcode
算法
Minimum Size Subarray Sum 长度最小的子数组
思路:
双指针
法,首先初始化low=high=0,即均指向数组的开始,
麦田里的哈士奇
·
2020-09-14 22:18
算法
26. 删除排序数组中的重复项/C++
双指针
法:只要i与j所指相同,则增加j以跳过重复项。
Zolewit
·
2020-09-14 22:06
双指针
LeetCode/C++
(leetcode 209)长度最小的子数组(
双指针
法、二分查找)
原题如下:1、
双指针
法(56ms,15.2mb)因为要求连续区间,可以采用前后指针,t表示前后指针区间内的数字之和。
clierwang
·
2020-09-14 21:19
leetcode
leetcode209
长度最小的子数组
双指针法
二分查找
删除排序数组中的重复项 (
双指针
)
删除排序数组中的重复项选择l,r为
双指针
,它们表示着一个区间的左右端点,再用一个idx表示要修改的位置。
好喜欢萨摩猪
·
2020-09-14 21:22
LeetCode
#
LC双指针
leetcode-
前k个高频元素
题目:给定一个非空的整数数组,返回其中出现频率前k高的元素。示例1:输入:nums=[1,1,1,2,2,3],k=2输出:[1,2]示例2:输入:nums=[1],k=1输出:[1]说明:你可以假设给定的k总是合理的,且1≤k≤数组中不相同的元素的个数。你的算法的时间复杂度必须优于O(nlogn),n是数组的大小。题解:将数组值作为key,出现的频次作为value,遍历数组,构建HashMap,
Lee_jiaqi
·
2020-09-14 21:00
Leetcode
前k个高频元素
map排序
Comparetors
leetcode-
斐波那契数列
题目斐波那契数,通常用F(n)表示,形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(N)=F(N-1)+F(N-2),其中N>1.给定N,计算F(N)。示例1:输入:2输出:1解释:F(2)=F(1)+F(0)=1+0=1.思路1:递归优点->代码简介缺点->程序运行速度变慢,容易栈溢出intfib(intN){if(N=
wenpi_linuxer
·
2020-09-14 20:46
leetcode
leetcode 142. Linked List Cycle II(Floyd判圈算法)
思路利用
双指针
,慢指针每次前进一个节点,快指针每次前进两个节点;设从出发点到环的起点的距离为L1L_1L1,两个指针第一次相遇的位置距离环的起点为L2L_2L2,环的长度为NNN,那么从出发点到相遇时,
totororz
·
2020-09-14 18:06
leetcode
链表
bzoj、codeforces、hdu等等的做题记录(更新中)
2019/5/29bzoj4240树状数组求逆序对+贪心(有个结论)(中)codeforces1167F树状数组区间记录贡献(难)codeforces1167E
双指针
思维记录前后缀(中)codeforces1081E
Amo-
·
2020-09-14 17:47
做题记录
CF873C Strange Game On Matrix 题解
题目:CF873CStrangeGameOnMatrix
双指针
-贪心-前缀和一道很简单的
双指针
题目,只不过是在矩阵上进行的,O(n2)O(n^2)O(n2)就可以搞定对于这道题,题目已经给定了区间长度,
_Wolverine
·
2020-09-14 17:51
题解
#Codeforces
双指针
贪心算法
前缀和
Java 利用递归实现链表的归并排序
利用递归实现链表的归并排序有两个环节:分割cut环节:我们可以利用fast,slow快慢
双指针
实现链表的分割,fast一次移动两位,slow一次移动一位,当fast移动到末尾时,slow移动到中间位置。
·
2020-09-14 16:13
剑指offer全集详解python版——和为S的连续正数序列
思路:
双指针
。
秋曾万
·
2020-09-14 16:36
算法
剑指offer JZ13:调整数组顺序使奇数位于偶数前面
思路在leedcode上做过一个相似的题目,不过当时没有要求相对位置不变,所以直接运用
双指针
,一个从前往后,一个从后往前,如果前为偶而后为奇,则调换就可以了,但是这里则不行。
Qiucen Wu
·
2020-09-14 16:17
剑指offer
两数之和 II - 输入有序数组(
双指针
)
给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值index1和index2,其中index1必须小于index2。说明:返回的下标值(index1和index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入:numbers=[2,7,11,15],target=9输出:[1,2]解释:2与7之和等于目
李硕`丹诗尔顿
·
2020-09-14 15:29
双指针
Leetcode
(python版) Leetcode-283. 移动零
02解析【
双指针
解法】我们创建两个指针i和j,第一次遍历
龙共日尧
·
2020-09-14 15:37
Leetcode刷题系列
指针
数据结构
leetcode
算法
1577 数的平方等于两数乘积的方法数(字典、字典-
双指针
)
i,j,k),如果nums1[i]2==nums2[j]*nums2[k]其中0int:returnself.solve(nums1,nums2)+self.solve(nums2,nums1)字典+
双指针
smalllxp
·
2020-09-14 15:02
领扣
指针
动手刷
LeetCode-
转换罗马字符
罗马数字转整数知识点解题思路小结给定一个罗马数字,将其转换成整数;知识点操作字符串;使用哈希表;哈希表:哈希表存储的是由键(key)和值(value)组成的数据。例如,我们将每个人的性别作为数据进行存储,键为人名,值为对应的性别。解题思路哈希表法:将字母及其组合代表数值存入哈希表中,循环取出字符,寻找对应的数相加;若是遇到特殊规则的组合,前一个字符设置为减,后一个字符正常计算;具体步骤:创建哈希表
中古传奇
·
2020-09-14 14:49
笔记
字符串
上一页
115
116
117
118
119
120
121
122
下一页
按字母分类:
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
其他