第六章 指针与数组
Ass06_01 最大子数组和
题目描述 给定一个数组a[0,…,n-1],求其最大子数组(长度>=1)和
输入描述 第一行一个整数n(1<=n<=5000),然后依次输入n个整数(每个整数范围[-5000, 5000])
输出描述 输出一个整数表示最大子数组和
样例输入
5
1 -1 1 1 -1
样例输出
2
解:优化算法来提高复杂度。
Ass06_02 子字符串的回文子序列个数
题目描述 求一个长度不超过15的字符串的回文子序列个数(子序列长度>=1)。
输入描述 输入一个长度不超过15的字符串,字符串均由小写字母表示
输出描述 输出其回文子序列个数
样例输入
abaa
样例输出
10
解:
-
求子字符串可以看做组合问题,用递归来解决
-
先求回文字符串,再做比较
Ass06_03 数组第k小数
题目描述 给定一个整数数组a[0,…,n-1],求数组中第k小数
输入描述 首先输入数组长度n和k,其中1<=n<=5000, 1<=k<=n
然后输出n个整形元素,每个数的范围[1, 5000]
输出描述 该数组中第k小数
样例输入
4 2
1 2 3 4
样例输出
2
解:可以简化为前k个数的排序问题,采用冒泡法。