- 博客(4)
- 收藏
- 关注
原创 求子数组的最大元数之和O(n)
直接上例子这是一个非常简单的数组,那么我们应该如何找到子数组的最大元素之和?首先需要理解,得到这个最大的数,必定是多个正整数相加比如4和5相加一定会大于4、5、(2+(-3)),显然在这里-3和2可以合并看为一个元素因此可以得到一个结论如果某几个元素相加(sum)之和小于等于0,那么这个子数组一定不包含它们下面用画图的方式来演示显然这个时候sum是正整数,可以不用被抛弃于是用ans来记录目前sum的值(假设目前这个sum就是最大的)逻辑继续向下运行
2023-11-19 09:53:37
63
1
原创 忽略空白符,将含有换行、空格的字符串储存在一个char数组中
gets的读取原理是:重复不断地向下读取字符,如果遇到了空白符(如换行、空格),那么它将读取这个空白符,并把空白符替换为\0,用于标示字符串的结束。只用gets无法使当读取到\n时停下来,那么我们就需要给他设置一个判断逻辑。这个代码的逻辑是:获取一个字符,别急着往数组里放,而是先去判断他是不是我们想要的合法字符,如果是再放进去。如这段代码,要是想读取一行数据非常方便,可以准确的全部存入数组,但是如果出现了换行,事情就不那么简单了。现在问题已经很明确了,想要略过换行,也许gets并不好用,我们需要。
2023-11-01 17:04:45
327
1
原创 关于数组指针和指针数组的讨论
如果&arr+1表示的是第二个元素的地址(即&arr+1和arr+1表示的内容相同) ———— 说明&arr是首元素地址。得出结论:&arr实际上是整个元素的地址,但是为了节约空间,只取该数组第一个元素的地址来代表整个元素的地址。刚刚已经提到了,数组的地址等价于数组首元素的地址,通过上述的解引用方法,可以找到每一个数组的第一个元素。如果&arr+1与arr+1(或&arr[0]+1)不等价 ———— 说明&arr不是首元素地址。2 ———— 0号数组的1号元素 解引用parr[0] + 1。
2023-10-25 11:56:54
145
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人