238. 除自身以外数组的乘积
238. 除自身以外数组的乘积
通过两次遍历(左到右和右到左)分别计算每个位置左边和右边的乘积,最后将两部分相乘得到结果,避免使用除法且实现O(n)的时间复杂度。
560. 和为 K 的子数组
560. 和为 K 的子数组
本题使用前缀和 + 哈希表的方法求解。通过构建前缀和数组,可以快速计算任意区间的和。使用哈希表记录每个前缀和出现的次数,当遍历到前缀和s[i]时,查找s[i]-k是否存在于哈希表中,若存在,则找到了和为k的子数组。该方法的时间复杂度为O(n),空间复杂度为O(n)。