- 博客(21)
- 收藏
- 关注
原创 leetcode面试经典150题-接雨水
上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。个非负整数表示每个宽度为。
2023-09-23 11:37:34
154
原创 leetcode面试经典150题-分发糖果
你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。请你给每个孩子分发糖果,计算并返回需要准备的。表示每个孩子的评分。
2023-09-21 20:48:50
192
1
原创 leetcode面试经典150题-加油站
从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。你不能从 0 号或 1 号加油站出发,因为没有足够的汽油可以让你行驶到下一个加油站。开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油。开往 0 号加油站,此时油箱有 4 - 3 + 2 = 3 升汽油。开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油。
2023-09-21 16:54:35
227
1
原创 leetcode面试经典150题-跳跃游戏II
问题的关键在于 从第一个元素开始找第一个能到达末尾的元素,然后再从第一个元素找能到达上次找的元素 依次找下去直到回到数组开头 思路:每次取局部最优解,从而达到整体最。从下标为 0 跳到下标为 1 的位置,跳 1步,然后跳 3步到达数组的最后一个位置。向前跳转的最大长度。生成的测试用例可以到达。跳到最后一个位置的最小跳跃数是 2。处,你可以跳转到任意。
2023-09-18 10:45:01
128
原创 leetcode面试经典150题-跳跃游戏
无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。给你一个非负整数数组。
2023-09-17 19:58:46
94
1
原创 leetcode面试经典150题-多数元素
投票法 因为多数元素在数组里出现的次数绝对大于n/2,所以用不同元素消去相同元素,剩下的必然是相同元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。
2023-09-16 20:13:02
84
1
原创 leetcode面试经典150题-删除有序数组中的重复项 II
函数应返回新长度 length = 7, 并且原数组的前五个元素被修改为 0, 0, 1, 1, 2, 3, 3。不需要考虑数组中超出新长度后面的元素。函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。不需要考虑数组中超出新长度后面的元素。删除重复出现的元素,使得出现次数超过两次的元素。并在使用 O(1) 额外空间的条件下完成。不要使用额外的数组空间,你必须在。后面学习到另一种算法,更加简洁明了。,返回删除后数组的新长度。
2023-09-11 20:37:18
96
原创 leetcode面试经典150题-删除有序数组中的重复项
的前两个元素被修改为1, 2。不需要考虑数组中超出新长度后面的元素。函数应该返回新的长度 2,并且原数组。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。函数应该返回新的长度5。
2023-09-11 20:21:20
84
原创 杭电Oj 2024
杭电OJ2024--C语言合法标识符输入一个字符串,判断其是否是C的合法标识符。输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。#includeusing namespace std;int main(){int n,k;char a[50];cin>>n;getchar();while(n–){k=
2021-09-04 10:43:52
218
原创 杭电Oj2011
杭电OJ2011–多项式求和多项式的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + …现在请你求出该多项式的前n项的和。输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000),求该多项式的前n项的和。对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保留2位小数。#includeusing namespace std;int main(){ int
2021-09-04 10:38:54
202
原创 杭电Oj2007
杭电OJ2007–平方和立方和给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。#includeusing namespace std;int main(){ int x,y; int sum1,sum2; int max(int x,int y); int min(int x,int y);
2021-09-04 10:35:30
143
原创 相熟杭电OJ
杭电OJ2091--空心三角形把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。#include<iostream
2021-07-22 20:00:07
314
原创 相识杭电OJ
C语言合法标识符输入一个字符串,判断其是否是C的合法标识符。输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。#include<iostream>usingnamespacestd;intmain(){intn,k;chara[50];cin>>n;g...
2021-07-16 20:46:45
244
原创 杭电OJ -2734
QuicksumQuicksum 是每个字符在数据包中的位置乘以字符值的乘积之和。空格的值为零,而字母的值等于它们在字母表中的位置。因此,A=1、B=2等,直到Z=26。ACM:1*1+2*3+3*13=46 MID CENTRAL:1*13+2*9+3*4+4*0+5*3+6*5+7*14+8*20+9*18+10*1+11*12=650输入由一个或多个数据包组成,后跟一行仅包含表示输入结束的#。每个数据包单独占一行,不以空格开头或结尾,包含 1 到 255 个字符。输出对于每个数据包,在输出中.
2021-07-14 21:35:37
493
原创 相知杭电OJ
学习目标:A+B来了 平方和与立方和 多项式(1-1/2+1/3-1/4+1/5-1/6+...)求和学习内容:A+B来了可能包含多个测试用例。每个案例在一行中包含A和B。A、B是十六进制数。输入以EOF终止。输出在一行中以十进制数输出A+B。#include<iostream>using namespace std;int main(){ int A,B; while(cin>>hex>>A...
2021-07-13 21:02:09
148
原创 相遇杭电OJ
文章目录相关代码 总结相关代码经过一天的代码训练,上午写了一系列的加法相关的代码题,A+BProblem,SumProblem,A+BforInput-OutputPractice(I、II、III、IV、V、VI、VII、VIII)等等,下午也写了一些,下面只是其中的一部分。ASCII码排序输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入数据有多组,每组占一行,有三个字符组成,之间无空格。对于每组输入数据,输出一行,字符中间用一个空格...
2021-07-12 21:00:25
348
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人