leetcode 974 题目描述974. 和可被 K 整除的子数组给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的(连续、非空) 子数组 的数目。 子数组 是数组的 连续 部分。 示例 1: 12345输入:nums = [4,5,0,-2,-3,1], k = 5输出:7解释:有 7 个子数组满足其元素之和可被 k = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 2023-02-19 leetcode #刷题
leetcode 930 题目描述930. 和相同的二元子数组给你一个二元数组 nums ,和一个整数 goal ,请你统计并返回有多少个和为 goal 的 非空 子数组。 子数组 是数组的一段连续部分。 示例 1: 1234输入:nums = [1,0,1,0,1], goal = 2输出:4解释:有 4 个满足题目要求的子数组:[1,0,1]、[1,0,1,0]、[0,1,0,1]、[1,0,1] 解题思路 2023-02-19 leetcode #刷题
leetcode 724 题目描述724. 寻找数组的中心下标给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。 如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。 2023-02-19 leetcode #刷题
leetcode 560 题目描述560. 和为 K 的子数组给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 。 示例 1: 12输入:nums = [1,1,1], k = 2输出:2 解题思路 哈希表+前缀和:查找tmp[i]-k出现的次数 执行用时:17 ms, 在所有 Java 提交中击败了98.66%的用户 内存消耗:45.6 MB, 在所有 Java 2023-02-18 leetcode #刷题
leetcode 528 题目描述528. 按权重随机选择给你一个 下标从 0 开始 的正整数数组 w ,其中 w[i] 代表第 i 个下标的权重。 请你实现一个函数 pickIndex ,它可以 随机地 从范围 [0, w.length - 1] 内(含 0 和 w.length - 1)选出并返回一个下标。选取下标 i 的 概率 为 w[i] / sum(w) 。 例如,对于 w = [1, 3],挑选下标 0 的概 2023-02-18 leetcode #刷题
leetcode 525 题目描述525. 连续数组给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1: 123输入: nums = [0,1]输出: 2说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。 解题思路 这里的变0为-1真的是神来之笔 前缀和+变0为-1,将0变为-1后,主要统计前缀和,将第一次出现的元素保存到map中 2023-02-17 leetcode #刷题
leetcode 209 题目描述209. 长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 123输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释: 2023-02-17 leetcode #刷题
leetcode 2341 题目描述2341. 数组能形成多少数对给你一个下标从 0 开始的整数数组 nums 。在一步操作中,你可以执行以下步骤: 从 nums 选出 两个 相等的 整数 从 nums 中移除这两个整数,形成一个 数对 请你在 nums 上多次执行此操作直到无法继续执行。 返回一个下标从 0 开始、长度为 2 的整数数组 answer 作为答案,其中 answer[0] 是形成的数对数目,answer[ 2023-02-16 leetcode #刷题
leetcode 647 题目描述647. 回文子串给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1: 123输入:s = "abc"输出:3解释:三个回文子串: "a", &q 2023-02-15 leetcode #刷题
leetcode 1124 题目描述1124. 表现良好的最长时间段给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累的天数」。 请你返回「表现良好时间段」的最大长度。 示例 1: 123输入:hours = [9,9,6,0,6,6,9]输 2023-02-14 leetcode #刷题