LeetCodeHot100(10/100)

张开发
2026/4/17 7:26:22 15 分钟阅读

分享文章

LeetCodeHot100(10/100)
法一暴力枚举法时间复杂度O(n)class Solution {public int subarraySum(int[] nums, int k) {int len nums.length;int count 0;for (int i 0; i len; i) {int sum nums[i];if (sum k) {count;}for (int j i 1; j len; j) {sum nums[j];if (sum k) {count;}}}return count;}}法二前缀和哈希表注意getOrDefault函数的使用class Solution {public int subarraySum(int[] nums, int k) {//前缀和哈希表MapInteger, Integer hp new HashMap();int sum 0;int count 0;hp.put(0, 1);for (int i 0; i nums.length; i) {sum nums[i];if (hp.containsKey(sum - k))count hp.get(sum - k);hp.put(sum, (hp.getOrDefault(sum, 0)) 1);}return count;}}

更多文章