自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 LeetCode——11

所以这里我们发现,当我们确定了容器之后,我们在移动长板这个容器的可以装下的水是不会变多的,只有移动短板的时候,容器可以装下的水才有可能变多,所以我们只需要在用一个指针确定好短板和长板的位置之后,我们在设置一个变量来记录容器可以装下的水的体积,通过移动指向短板的指针去遍历,然后不断更新这个变量,这样我们只需遍历数组就可以找到可以容纳最多水的容器了。这道题是很经典的水桶问题,一个水桶可以装多少水是由最短的一块木板决定的。轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。今天分享一篇c++的代码。

2023-12-22 01:00:00 85

原创 LeetCode————c语言

/就是从1000开始除,然后是900,500,400,100,90,50,40,10,5,4,1这样去除。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。//所以不需要考虑取出来的第一个数字的位数,因为num的位数最高就是千位,所以直接从1000开始除。通常情况下,罗马数字中小的数字在大的数字的右边。//这样取到的数字放到一个数组里,再创建一个数组来存放对应的罗马数字。//这样把去到的数字就代表对应的罗马数字的个数。,即为两个并列的 1。例如, 罗马数字 2 写做。

2023-12-18 14:42:32 20

原创 LeetCode————c语言

找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回。今天这道题非常简单,与大家分享一下,没什么要写的!峰值元素是指其值严格大于左右相邻值的元素。你必须实现时间复杂度为。的算法来解决此问题。

2023-12-18 13:55:28 23

原创 LeetCode————c语言

这个题目很简单,就是判断一个数字正着和反着的是否一样,我们可以把数字放到一个数组里面,进行翻转,然后用两个指针一个从头,一个从尾开始遍历,只要遍历过程中两个指针指向的数字不一样就返回false,如果可以完成遍历,就返回true,这里我遍历了整数组,没有进行优化,其实只要两个指针相等的时候,就两个指针走到数组中间时就可以完成判断了。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。是一个回文整数,返回。

2023-12-18 00:00:00 19

原创 LeetCode————c语言

用dighit取数字的尾部,result这里相当于sum的意思,就是把每个数字反转后乘以对于的10的次数然后求和,就是最后的答案,result每次在循环中会进行更新,第一取到的尾数会随着result的不断更新最后成为次幂最大的那个数,其他数字也是类似,而x会随着循环不断更新变小,每次取一个尾数就除以一次十,最后当x为0时就说明已经全部取完,数字完成了反转。这个方法不需要用数组,避免了使用额外的空间,我自己写的就是一大坨了,就不献丑了。如果反转后整数超过 32 位的有符号整数的范围。

2023-12-17 00:30:00 23 1

原创 LeetCode————c语言

/我们把最后一个周期,字符不够的情况也看作一个周期。//把整个数组扫描,按顺序打印不为空的位置的元素。//把第r+1个字符放到第r个字符的右上方。//如果行数为1,或者行数大于字符个数。//周期数就是字符个数除以周期取整加1。//我们这里把回到第一行看作一个周期。//那么一个周期要有r+r-2个字符。//假设numRows 行数是r。//就是从第一行的第一个字符开始。//到第一行第二个字符是一个周期。//把二维数组全部置为0。//用二维数组去存放整个字符串。//那么就要竖着存放r个字符。

2023-11-18 21:03:19 21 1

原创 LeetCode————c语言

/所以当字符串s只有一个字符,返回整个字符串即可。//所以我们从左边开始遍历,右边就会对称着向前遍历。//因为像bb这种情况,中心就是bb,是俩个字符。//是回文子串并且子串长度大于1。//因为一个回文子串一定是存在的,并且最短为1。//我们只要找到一边的字符个数,另一边是对称的。//从两边向中心开始收缩判断。//把中心左边的字符个数设置为2,包括中心。//创建数组存放是否是回文子串的判断结果。//用一个二维数组来表示是否是回文子串。//回文子串就是一个对称的子串。//一个字符的子串也是回文子串。

2023-11-15 00:00:00 39

原创 LeetCode————c语言

设置两个变量p、q,分别从两个数组的第一个元素开始遍历数组,从第一个数字开始比较,把较小p对应的数字拷贝到新数组中,然后这个变量p向后遍历一个位置,再与q作比较,一直到其中一个数组全部遍历完,另一个数组剩下的数字就是比前面所有数字都大的正序排列的数了,我们把这些数字按序全部拷贝到新数组的后面。这道题要求合并数组,找到中位数,但是要求时间复杂度在O(log(m+n)),所以我们在合并过程中就要找到中位数,不需要在合并之后再去遍历数组。//这里利用归并排序中的将分治数组归并的算法。的正序(从小到大)数组。

2023-11-14 00:00:00 31

原创 LeetCode————c语言

例如我们有字符串abcbbcabd,当p1从第一个a遍历到第二个b的时候,这时候让p2从第一个a开始向后走,直到走到c,这时候,p1指向第二个b,p1指向第一个c,两个字符中间的字符只有cb,这个子串cb的长度就是p2向后走的距离。比如这道题,我们一个指针遍历数组,当遇到与前面的元素有重复的时候就需要移动另一个指针,通过移动距离来算出无重复字符的最长子串的长度。一个向后遍历整个字符串,当遇到一个字符与前面的遍历过的字符有重复,就让第二个指针开始向后移动,直到两个指针直接的字符串没有重复字符。

2023-11-13 00:00:00 20

原创 【无标题】LeetCode————c语言

具体思路如下:我们遍历两个链表,将对应位置的数字相加,当两个链表的节点里都是0的时候我们就停止遍历,这样就不需要考虑一个链表中数字为0的情况,例如:230和123,我们在遍历的时候要设置一个终止条件,这里俩个方面的考虑,两个数字都是以0结尾的数字或者两个数字的最高位需要进位,这里我们把两个原链表按对应位置相加后的节点依次插入的新链表,然后直到两个原链表都为空并且没有进位数的时候停止循环。这道题是把两个整数逆序存到两个链表里,然后把这两个整数相加后的数放到一个新链表中,返回新链表的地址。

2023-11-12 00:00:00 25 1

原创 用c语言去做LeetCode的题目

从今天开始会开始更新一些LeetCode上面题目的做法。由于本人自己水平较差,可能会有抄袭借鉴大佬的代码和思路。也就是说我只是把大佬们的东西照搬照抄分享给大家。本人是刚开始学习编程,是那种连门都没进的菜鸟。如果哪里有什么不好的地方。

2023-11-11 00:00:00 34 1

原创 LeetCode————c语言

/然后进行我们的第二次循环,因为我们每次找b的过程中都是从a后面的一个数开始找,a前面的数字是不需要我们去遍历的,因为在前面一个数字为a的时候我们已经遍历过了。nums是已给的数组,numsSize是数组的大小,target是目标值,returnSize是要返回的数组大小。//这里我们开始设置一个循环,让我们的a从第一个数字一直到最后一个数字。//如果是我们要找的b,就动态开辟一块空间来存放此时的a和b的下标。我们注意到在找b的过程中,我们的j是依赖于i的。最后a为倒数第二个数字的时候,b遍历一次。

2023-11-11 00:00:00 27 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除