自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字符串中的数字

字符串中的数字要加’ ',比如char* s是字符串数组,提取中其中某一个应该是字符,想变成数字要 ’ ',比如检查s[0]是否是1,应该是if(s[0]==‘1’)想给s[1]变成9,可以写成s[1]=‘9’;

2024-08-26 10:32:08 278

原创 二维数组按第一列升序,第二列降序的顺序排序,使用快排qsort

意思是 ((int*)A)[0]和((int*)B)[0]相等吗?,如果第一列相等的话,就比较第二列,((int*)B)[1]>((int*)A)[1],其中因为是想让第二列降序排列,所以B-A,如果第一列不相等的话,就按照第一列排序,((int*)A)[0]>((int*)B)[0]依旧是熟悉的int cmp(const void* A.const void* B)问号前面的是用来判断的式子,成立的话执行:左边的式子,不成立的话执行:右边的式子。return的部分使用三目运算符。1.调用qsort函数。

2024-08-25 13:40:18 236

原创 使用快排qsort将二维数组按某列大小来排各行的序

想按第一列排序,第二三列随第一列变化,使用qsort时要将整个二维数组都送进去,因为第二三列也要跟着变化嘛,因为该数组是int型,所以size是三倍的int,至于比较函数cmp,参数是永恒不变的const void* A和const void* B,return ((int。参考文章:(http://t.csdnimg.cn/3u1FF),写的很好。少任何括号都不行哟,我试过的。)A)表示将A强转成int。

2024-08-24 11:28:51 192

原创 LCP 67. 装饰树

1.调用有返回值的函数,可以不接收返回值,只调用。2.malloc一个二叉树节点的公式。

2024-08-23 20:01:04 191

原创 快排函数qsort的调用

都参考了http://t.csdnimg.cn/w1XPC这篇,还有这篇http://t.csdnimg.cn/1hyiX,作者还提醒了如果要对数组进行部分排序,比如对一个s[n]的数组,要对其从s[i]开始的m个元素进行排序,只需要在第一个和第二个参数上进行一些改:qsort(&s[i],m,sizeof(s[i]),cmp);即对长度为numsize的数组num进行快排,sizeof(num[0])的意义是告知a数组元素的类型,cmp是对数组元素比较的函数,需要自己写。3.对于int型的例子。

2024-08-22 14:40:47 123

原创 力扣836 矩形重叠 要学会逆向思维啊友友们

但是测试用例有一个过不去,[0,0,2,2],[1,1,3,3],这两个矩形刚好重叠一半,中心的距离和矩形的长的和的一半相等,我本来以为相等的情况是两个矩形贴边,所以又在代码中去除了贴边的情况。就盯上重叠了,使劲思考画图啊,我都在想机试的时候不让带纸笔我怎么考试,总之就是给两个矩形都找了中心,比较中心的距离和矩形的长的和的一半(l1+l2)/2,中心距离小的时候有重叠。我才知道测试用例还有负数的,负数相减超过int的范围了……实在受不了了,看了官方题解,妈呀,好简洁,考虑不重叠的情况比重叠的情况简单好多。

2024-08-20 23:29:46 224

原创 求一个整数的位数,直接用log

int n=(int)(log10(x))+1; //格式

2024-08-19 18:45:18 105

原创 c语言中的按位异或

x和y都是int型的,按位异或是他俩变成二进制,对应每一位,相同为0,不同为1,但是不用自己算,只需要使用^这个符号,按位异或符,并且x和y交换顺序也是没问题的。

2024-08-19 18:44:31 103

原创 力扣1313 解压缩编码列表

除此以外,malloc的函数使用的时候要注意不要越界,否则可能报错runtime error: store to address 0x602000000038 with insufficient space for an object of type ‘int’,因为使用的时候范围错误,我刚开始还以为是我malloc错了格式。收获:题目中给的returnsize虽然是带*号的,并不是指针的意思,不是要返回的数组,而是为了传递并修改returnsize 返回数组的大小,使用的时候加上。

2024-08-18 19:22:08 196

原创 力扣2937 使三个字符串相等

2.要小心数组越界,比如a数组长度为l,不能出现。这样的话会出现a[l],根本就没有,会越界。

2024-08-17 19:35:15 98

原创 c中字符串和字符数组的区别 ||力扣1528 重新排列字符串

创建一个长度为length新的字符串的方法就是,malloc一个长度为length+1的字符数组,前面0-length-1填字符串真实内容,a[length]存放‘\0’,代表字符串结束。//malloc格式。c中字符串就是通过字符数组保存的,唯一的差别就是字符串必须有‘\0’,而字符数组可以没有。

2024-08-16 15:07:29 119

原创 力扣 删除中间节点

别人的题解,没有head的情况下怎么删除链表节点,让后一个赋值给它,然后删除后一个节点。//不用全部都覆盖,只要用后一个覆盖,然后删掉后一个就行。

2024-08-15 15:22:02 323

原创 switch的使用,注意只接受字符和int

题目不重要,重要的是,代码中对switch的使用,switch只能接受int和char,字符串啥的都不行。这篇文章写的挺全,http://t.csdnimg.cn/NcTVq。

2024-08-13 21:39:25 210

原创 24/7/10 力扣27.移除元素

首先应该注意数组是不是空的,还有就是从后往前找到第一个不等于val的元素,防止出现全是val的情况,缺少这个的话,会进入死循环,第三就是在这里,从后往前替换没有检查是否等于val,因为替换后i仍然没有+1,仍然在循环里接受审判,新替换过来的元素要是也等于val的话,会再次被后面的元素替换,直到不等于val,i才会+1。是以前做过的题,找出来看自己的代码都忘记了,也看不懂了哈哈哈。要注意特殊情况,我每次都是从报错中找特殊情况改代码。

2024-07-10 22:53:28 167

原创 24/7/3 打卡pta

设置while循环,提取最后一位,用10取余,n%10,比较数组位为1,有重复,为0,设置为1,sqrt(a),结果是float,要是想要验证是否为完全平方数,可以将开方结果变为int。设置长度为10的数组,初始化为0,每次都取下最后一位,数组对应位设为1。,在n中删去最后一位,如345,变成34,取模即可,n/10。负数取模出来居然是负数,比如-27取模10,是-7。再平方,看是否相等,要加math.h头文件。2.判断n是否有两位数字相同。

2024-07-03 23:02:06 189

原创 24/7/2 打卡pta

我服了,我以为是0,找了二十多分钟没找到哪里写错了。需要带#include <math.h>1.指数pow(x,y)

2024-07-02 22:24:00 126

原创 力扣20 有效的括号

1.这种对称匹配类的问题,很明显是要用栈,但是我不会哈哈,全忘记了,只会数据结构,不会实践,看了随想录的题解,理解了一些,栈可以直接用数组实现,再记录一个stacktop即可,2.bool 函数的返回值有true和false,true默认为1,false默认为0,可以直接返回1或0。5.匹配成功按理来说应该是弹栈,在实际应用中直接stacktop减一就可以了。3.stackTop指的是空的,stackTop-1才是栈顶元素。4.不要忘记除了不匹配的情况还有左括号多和右括号多的两种情况。

2024-03-31 20:37:50 204 1

原创 力扣541 反转字符串||

2.搞了半天怎么输入带空格的字符串,其实不用输入,是直接函数传参给出的,带空格字符串不能直接使用scanf%s,会到空格就停,应该scanf(“[^\n]”,s),或者直接用gets(s)1.经常忽略一个问题,前k个是0到k-1,而不是k。

2024-03-31 17:57:06 233

原创 力扣203 移除链表元素

4.不能直接比较i->next=val,要i->next->val=val,这样的话可以直接删掉i->next,想直接删掉i,i前面的找不到,那就没法让i前指向i后来删掉i,而i后与val比较的话那就是在删i后,直接i指向i后的next即可。5.其实代码中缺少了一个部分,被删掉节点的释放,i->next=i->next->next;这里按照随想录的话,应该让tmp等于i->next,然后再i指向i->next->next,再free(tmp),释放内存。1.函数里也可以直接用typedef。

2024-03-29 20:56:56 203

原创 力扣704 二分查找

思路很好想,最开始时间超时因为跳出循环条件错误,以为是left==right,其实是left+1=right,改掉之后就过了。//代码最开始还报过错因为我没写返回值,以后不要不写。

2024-03-29 19:33:52 163

空空如也

空空如也

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

TA关注的人

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