最近面试时遇到个一个算法题,有些紧张没做出来,还是算法思维不够,说白了还是刷题刷的少。 题目: 给定一个int类型数组(值>0)和一个值value(值>0),每一步只能从数组的 第一位或最后一位删除一个元素,并同时将value减去该值, 问最少操作几次可以将value减到0? 最后是问了面试官才知道思路,对数组求和后,减去value值就是最后被剩下的值,题目就变成了 求和为sum-value的最长连续子数组长度 这就很简单了,双指针一趟遍历就能求出。