![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 61
lanhuazui10
这个作者很懒,什么都没留下…
展开
-
求子数组的最大和
1、有一个数组a[n],里面的数只有两种:-1或1。i,j是两个整数,假设0<=i<=j<=n-1,找出a[i]到a[j]中连续数之和最大的部分(如果最大部分存在相等的则优先找最短的)。例如输入的数组为 1, -2, 3, 10, -4, 7, 2, -5 ,和最大的子数组为 3, 10, -4, 7, 2 ,因此输出为该子数组的和18。2、有一个数组a[n],里面含有正数负数,假设0<=i<=j<=n-1,找出a[i]到a[j]中连续数之和最大的部分(如果最大部分存在相等的则优先找最短的)。转载 2023-09-02 19:41:25 · 135 阅读 · 0 评论 -
括号匹配算法 检查表达式合法性
/只要是左括号就入栈。printf("输一个含义有()[]{}的括号表达式:\n");//栈当前的存储空间。#define S_SIZE 100 //栈的空间大小。printf("括号匹配成功");转载 2023-05-29 13:43:50 · 82 阅读 · 0 评论 -
409. 最长回文串长度
这道题目主要是看清字符串中的字符顺序不是固定死的,可以随意组合的,跟从指定字符串中求最大回本字符串不一样,参考网上的结题思路比较有投机性,首先要理解回文字符串的组成,不理解就无法下手。则最长回文串的长度是ret+1(ret中存储的是全部出现偶数次字符的个数之和)第二种回文串的长度是:所有出现偶数次的字符的个数之和+1。=len:表示最长回文串是由出现偶数次的字符+出现奇数次的字符构成的。若是ret==len:表示该能构成的最长回文串全部都是由出现偶数次的字符构成的。1 统计s字符串中所有字符的个数。原创 2023-05-07 22:48:28 · 42 阅读 · 0 评论 -
165. 比较版本号 C语言 leetcode
这题比较投机的方式就剔除‘.’后,将字符串转化成整型,再去比较,为什么可以这样操作,原因就是版本号除了小数点都是数字,另外循环中每次遍历到小数点就要把整型值清空,这样00开头的字符转化成整型后还是0,正好可以过滤掉忽略前导0。这种方式一个好处,无需过滤两个字符串小数点数量不同的时候,数量不同还没有比较完的话,前一个字符串的V1值就默认是0了,变成另一个字符串转整型值与0机型比较了。//保持数据的连续性,使得i能够同步上面数据。原创 2023-05-07 15:25:28 · 150 阅读 · 0 评论 -
LeetCode刷题笔记(简单)---重新排列数组(C语言)
最开始受到The returned array must be malloced, assume caller calls free().影响,以为malloc和free必须成对出现,后来发现,也可以不成对出现,只要执行结果正确就行了。数组类题目最关键的就是数组的下标不能一出,因为leetcode中无法调试,所以写代码的时候就要很小心,不然错误不好判断,保证自己写的尽量准确。原创 2023-05-06 21:46:01 · 71 阅读 · 0 评论 -
单链表转置
/Next:将来获得的当前节点的原先的下一个节点。//因此,必须要把Pointer和原先的前继节点联系起来,而原先的前继节点一定在Back。//原先的pHead没有变,因此原先的pHead->pNext指向的原先的第一个元素。//因为在Next = Pointer->pNext,Next已经是第二个元素了,//pointer->pNext域变成了Back,又因为Back是头节点,所以。//step 2:将原先的pointer的next域变成back。//此时原先的第一个元素的后继已经变成了原先的头节点。原创 2023-04-24 23:47:22 · 415 阅读 · 0 评论 -
查找给定位置pos和或给定数据data的结点位置
/头结点对应下标为0。///找到就返回节点的地址,找不到就返回NULL。//输入:链表的头指针,要查找的编号,//查元素:查找给定元素值的位置。//取元素:取给定位置的元素值。//输出第pos个元素的地址。原创 2023-04-24 21:09:27 · 79 阅读 · 0 评论 -
【转】用信号量(互斥锁)实现两个线程交替打印
转载自https://blog.csdn.net/liqiao_418/article/details/83715863,面试的时候被问到了怎么交替打印数字通过两个线程,当时有点懵,知道考察的点是线程的同步和线程互斥,能想到的也是互斥锁和条件变量,但是具体怎么实现当时却没有想到,网上搜索了一下,发现这篇文章通过互斥锁和信号量来实现,最关键的还想到了使用两个标志位的小技巧来处理各种异常情况,考虑的非常细致。本文实现两个线程交替打印,采用的是逐步添加代码,分析每一步代码的作用,若想要看最终版本可直接翻看后面转载 2021-05-11 00:38:04 · 837 阅读 · 0 评论