今天研究了一下如何返回一个整数数组中最大数组的和,具体要求如下: 分析: 对于这个问题可以设定一个整型max,让他来充当子数组的和的最大值,之后就需要让他和所有的子数组进行比较,这里可以用两个for循环来实现.如下: for(int i=0;i<n;i++) { for(int j=i;j<n;j+ ...
分类:
编程语言 时间:
2020-02-28 20:28:12
阅读次数:
102
1. 简而言之,数组定义在函数中时,占用的内存来自栈空间,栈空间是在进程创建时初始化的,有固定的大小,一般很小,所以太大的数组会耗光栈空间。全局变量一般分配在数据段,可以比较大。 2.BBS段、数据段、代码段、堆与栈及5大内存分配 BSS段(Block Started by Symbol): BSS ...
分类:
编程语言 时间:
2020-02-04 10:30:37
阅读次数:
97
归并排序 个人认为归并排序和快速排序有相似之处,都是从大数组一步一步化为小数组再分步解决。 归并排序的思想其实很简单,总共分为两步,分与治。 分指的就是将一个大数组一步一步变小,总体化小再化小,如下图本是长度为8的数组分为两个长度为4的数组再一步一步分下去直到8个数字。 核心代码 int mid=( ...
分类:
编程语言 时间:
2020-01-23 20:01:35
阅读次数:
113
认真写博客是不是就不用面对期末成绩了 统计数字 https://www.luogu.com.cn/problem/P1097 一眼就想到桶排,但是数据范围太大,数组会爆。 就拍了个序,直接记录输出就完了。 1 #include<bits/stdc++.h> 2 using namespace std ...
分类:
其他好文 时间:
2020-01-17 22:43:04
阅读次数:
71
代码小结,使用 JS 对数据进行分组,对分组中的数组取最大数组; 使用过程截图 ...
分类:
编程语言 时间:
2019-12-22 13:01:18
阅读次数:
92
C语言占用的内存可以分为5个区: ①代码区(Text Segment):不难理解,就是用于放置编译过后的代码的二进制机器码。 ②堆区(Heap):用于动态内存分配。一般由程序员分配和释放,若程序员不释放,结束程序时有可能由操作系统回收。(其实就是malloc()函数能够掌控的内存区域) ③栈区(St ...
分类:
编程语言 时间:
2019-11-23 12:24:23
阅读次数:
96
题目描述:一个数组有N个元素,求连续子数组的最大和。例如:[-1,2,1],和最大的连续子数组为[2,1],其和为3。分析:从头到尾遍历数组,如果加和小于0,说明之前的累加和并不能够构成最大和数组,所以我们从数组的下一个元素开始累加,但累加的过程中有可能已经遇到了最大和,所以当当前的和比之前的大时记录下来。踩坑点:当加和小于0时只需要从下个位置作为数组头开始累加即可,因为之前已构不成最大数组,所以
分类:
其他好文 时间:
2019-11-13 19:28:35
阅读次数:
83
教材学习内容总结 一、查找 二、排序 教材学习中的问题和解决过程 问题1:归并算法里对两个子表合并成一个更大的有序表时,两个表如果是65 90,28 100.怎么归并成一个组,如果就是把两个组归并起来,就会是65 90 28 100,并不能达到通过小的有序的数组来归并成有序的大数组的目的? 问题1解 ...
分类:
其他好文 时间:
2019-11-04 19:35:36
阅读次数:
88
归并算法: 将数据先拆分为两部分,被两部分里面再拆分为两部分,然后再合并 其思想是将原始数组切分成较小的数组,直到每个小数组只有一个位置,接着将小数组归并成较大的数组,直到最后只有一个排序完毕的大数组。 归并排序是一种分而治之算法。其思想是将原始数组切分成较小的数组,直到每个小数组只有一个位置,接着 ...
分类:
编程语言 时间:
2019-10-20 13:25:26
阅读次数:
115
"题面" "代码" $dfs$一遍,记录每个点的编号和它子树中点的最大编号。树上问题转化为区间问题后,单点修改区间查询用树状数组维护。 $O(nlogm)$ ...
分类:
其他好文 时间:
2019-10-12 20:40:15
阅读次数:
72