三数之和 题目链接15.三数之和 给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]0。请 你返回所有和为0且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例1: 输入:nums=[-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]解释:nums[0]+nums[1]+nums[2]=(-1)+0+1=0。nums[1]+nums[2]+nums[4]=0+1+(-1)=0。nums[0]+nums[3]+nums[4]...

和为s的两个数字 题目链接LCR179.查找总价格为目标值的两个商品 购物车内的商品价格按照升序记录于数组price。请在购物车中找到两个商品的价格总和刚好是target。若存在多种情况,返回任一结果即可。 示例1: 输入:price=[3,9,12,15],target=18输出:[3,15]或者[15,3] 示例2: 输入:price=[8,21,27,34,52,66],target=61输出:[27,34]或者[34,27] 题目解释 这道题是在数组中寻找两个元素,我们让他们的和恰好等于目标值就可以了. 算法原理 注意,这里我们寻找的是元素,不是什么下标.所以我们可以排序.这里是...

四数之和 题目链接18.四数之和 给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a],nums[b],nums[c],nums[d]](若两个四元组元素一一对应,则认为两个四元组重复): 0<=a,b,c,d<n a、b、c和d互不相同 nums[a]+nums[b]+nums[c]+nums[d]target 你可以按任意顺序返回答案。 示例1: 输入:nums=[1,0,-1,0,-2,2],target=0输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]] 示例2: ...

有效三角形的个数 题目链接611.有效三角形的个数 给定一个包含非负整数的数组nums,返回其中可以组成三角形三条边的三元组个数。 示例1: 输入:nums=[2,2,3,4]输出:3解释:有效的组合是:2,3,4(使用第一个2)2,3,4(使用第二个2)2,2,3 示例2: 输入:nums=[4,2,3,4]输出:4 题目解释 从数组中跳出三个元素,判断他是否可以组成三角形. 算法原理 我们知道三个数是否可以组成三角形的条件是任意两条边的和大于第三边,实际上只需让较小的两条边之和大于第三边即可.那么这个时候我们是否可以做. 将我们的数组排序 固定一个最大的值,然后遍历其他的,判断是否...

移动零 题目链接283.移动零 给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。 请注意,必须在不复制数组的情况下原地对数组进行操作。 示例1: 输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0] 示例2: 输入:nums=[0]输出:[0] 题目解释 这道题目的意思是我们将所有的0都移动到数组的后面,非零的元素放在前面.不过我们在移动的时候是不能够改变我们的非零元素的相对的位置的. 算法原理 这里我们可以很容易想到一个解法,我们新开辟一个数组,遍历一下我们原来的数组,如果不是零,就添加.最后将0放在我们数组的后面就可以了,下面...

移动零 题目链接283.移动零 给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。 请注意,必须在不复制数组的情况下原地对数组进行操作。 示例1: 输入:nums=[0,1,0,3,12] 输出:[1,3,12,0,0] 示例2: 输入:nums=[0] 输出:[0] 题目解释 这道题目的意思是我们将所有的0都移动到数组的后面,非零的元素放在前面.不过我们在移动的时候是不能够改变我们的非零元素的相对的位置的. 算法原理 这里我们可以很容易想到一个解法,我们新开辟一个数组,遍历一下我们原来的数组,如果不是零,就添加.最后将0放在我们数组的后面就可...

  Po3hxeRubiSF   2023年11月02日   23   0   0 赋值自增数组赋值数组自增

复写零 题目链接1089.复写零 给你一个长度固定的整数数组arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组就地进行上述修改,不要从函数返回任何东西。 示例1: 输入:arr=[1,0,2,3,0,4,5,0] 输出:[1,0,0,2,3,0,0,4] 解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4] 示例2: 输入:arr=[1,2,3] 输出:[1,2,3] 解释:调用函数后,输入的数组将被修改为:[1,2,3] 题目解释 解释一下题意.什么是复写0,说人话就是我们的遍历...

快乐数 题目链接202.快乐数 编写一个算法来判断一个数n是不是快乐数。 「快乐数」定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为1,也可能是无限循环但始终变不到1。 如果这个过程结果为1,那么这个数就是快乐数。 如果n是快乐数就返回true;不是,则返回false。 示例1: 输入:n=19 输出:true 解释: 12+92=82 82+22=68 62+82=100 12+02+02=1 题目解释 什么是快乐数,就是将我们数的每一位数计算他的平方,判断他是否是1,如果不是是1,我们持续上面的操作,直到我们遇到1,那么...

盛水最多的容器 题目链接11.盛最多水的容器 给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。 找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例1: 输入:[1,8,6,2,5,4,8,3,7] 输出:49 解释:图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。 示例2: 输入:height=[1,1] 输出:1 题目解释 就是求我们水桶的最大的容量,其中高度是我们左右...

有效三角形的个数 题目链接611.有效三角形的个数 给定一个包含非负整数的数组nums,返回其中可以组成三角形三条边的三元组个数。 示例1: 输入:nums=[2,2,3,4] 输出:3 解释:有效的组合是: 2,3,4(使用第一个2) 2,3,4(使用第二个2) 2,2,3 示例2: 输入:nums=[4,2,3,4] 输出:4 题目解释 从数组中跳出三个元素,判断他是否可以组成三角形. 算法原理 我们知道三个数是否可以组成三角形的条件是任意两条边的和大于第三边,实际上只需让较小的两条边之和大于第三边即可.那么这个时候我们是否可以做. 将我们的数组排序 固定一个最大的值,然后遍...

最长递增子序列 题目链接: 300.最长递增子序列 题目描述: 给你一个整数数组nums,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。 示例1: 输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101],因此长度为4。 示例2: 输入:nums=[0,1,0,3,2,3]输出:4 示例3: 输入:nums=[7,7,7,7,7,7,7]输出:1 题目解析 在这个之前,我们说一下什么是子序列...

可变参数列表 我们想通过一个例子来引出我们这个话题.如果我们想要求两个数的最大值,这个函数是非常容易的. intGetMax(intx,inty) { if(x>y) { returnx; } returny; } intmain() { inta=10; intb=20; intmax=GetMax(a,b); printf("max=%d\n",max); return0; } 但是突然有一天你想求10个、20个…数中的最大值,请问我们应该如何做,此时我们想很简单,我们是可以使用一个数组,可是有一天我们不想使用数组,就是想通过传入参数额形式来让我们完成,这就需要可变参数了.我...

最长递增子序列 题目链接: 300.最长递增子序列 题目描述: 给你一个整数数组nums,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。 示例1: 输入:nums=[10,9,2,5,3,7,101,18] 输出:4 解释:最长递增子序列是[2,3,7,101],因此长度为4。 示例2: 输入:nums=[0,1,0,3,2,3] 输出:4 示例3: 输入:nums=[7,7,7,7,7,7,7] 输出:1 题目解析 在这个之前,我们说一下...

  Po3hxeRubiSF   2023年11月02日   52   0   0 子序列子序列数组2d数组2d

最长递增子序列 题目链接: 376.摆动序列 题目描述: 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如,[1,7,4,9,2,5]是一个摆动序列,因为差值(6,-3,5,-7,3)是正负交替出现的。 相反,[1,4,7,2,5]和[1,7,4,5,5]不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。 子序列可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。 给你一个整数数组nums,...

  Po3hxeRubiSF   2023年11月02日   40   0   0 数组2d数组2d3c3c

按摩师(easy) 题目链接: 面试题17.16.按摩师 题目描述: 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。 注意:本题相对原题稍作改动 示例1: 输入:[1,2,3,1]输出:4解释:选择1号预约和3号预约,总时长=1+3=4。 示例2: 输入:[2,7,9,3,1]输出:12解释:选择1号预约、3号预约和5号预约,总时长=2+9+1=12。 示例3: 输入:[2,1,4,5,3,1,1,3]输出:12解释:选择...

  Po3hxeRubiSF   2023年11月02日   29   0   0 i++编写代码C++算法原理

项目背景 大家应该在电脑上刷过视频吧,这个项目就是模拟一下我们刷视频的整个流程,我们要做的是一个类似B站的网页,这里面包含视频的上传修改和观看以及删除,注意我这个是一个简易版本的,在后面我会做一个升级,增加其他的功能. 基本原理 下面我们说一下我们项目的基本原理.我们这里做的是服务器客户端类型的项目.当客户端发起请求之后,我们服务端分析请求,看他是做什么的,例如请求资源,还是推送资源,我们对每一个请求都做一个处理让后把响应发送给客户端. 服务端程序负责功能 针对客户端上传的视频文件以及封面进行存储 针对客户端上传的视频完成增删查改内容 支持浏览器进行视频观看内容 服务端功能模块划分 ...

  Po3hxeRubiSF   2023年11月02日   47   0   0 c++mysql客户端

最大子数组和(medium) 题目链接: 53.最大子数组和 题目描述: 给你一个整数数组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 题目解析 解释一下什么是子数组.很简单,我们把数组里面的元素连接一起就可以认为是一个子数组.题目就是求我们子数组的最大和.这里我们用实例3三做演...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~