前言
题外话:越来越感觉,刷算法其实不是为了面试了,而是学专业知识点快要学吐的时候,或者业务太烦的时候,缓解一下,换个思维。
这篇文章最开始的意图,是简单过一下几个面试中常见的算法题目,都不难。
但是后来慢慢发现,这个关于K的问题可以扩展的很难很难。楼主个人很喜欢总结,因为不总结就跟没做一样,所以,想把当前所有的和为K的题目总结在这里,方便随时回来翻阅。
1.直线上的和为K
1.1连续的和为K
1.1.1找到所有的和为k的子数组
从一串有序数组中找到和为K的连续子数组。比如[1,2,2,3,5,6,7,8,9],k=5,那么答案就是[1,2,2],[2,3],[5]
解法一:暴力
这个题目咋一看是没有任何思路的,只能暴力,两重for循环,这个代码贴一下
private List<List<Integer>> caTsum(int[] num, int lev) {
List<List<Integer>> list = new ArrayList<>();
for (int i = 0; i < num.length