1 Star 0 Fork 0

Roderland/algorithm

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Question523.java 1.20 KB
一键复制 编辑 原始数据 按行查看 历史
Roderland 提交于 2021-01-10 15:55 +08:00 . add
package question;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class Question523 {
public static void main(String[] args) {
int[] ints = {23, 2, 4, 6, 7};
int k = 6;
new Question523().checkSubarraySum(ints, k);
}
public boolean checkSubarraySum(int[] nums, int k) {
int n = nums.length;
int[] dp = Arrays.copyOf(nums, n);
for (int i = 1; i < n; i++) {
for (int j = 0; j + i < n; j++) {
dp[j] = dp[j] + nums[i + j];
if (k == 0) {
if (dp[j] == 0) return true;
} else {
if (dp[j] % k == 0) return true;
}
}
}
return false;
}
public boolean checkSubarraySum2(int[] nums, int k) {
Map<Integer, Integer> map = new HashMap<>();
int sum=0;
map.put(0, -1);
for (int i = 0; i < nums.length; i++) {
sum+=nums[i];
if (k!=0) sum%=k;
if (map.containsKey(sum)) {
if (i-map.get(sum)>1) return true;
} else {
map.put(sum, i);
}
}
return false;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/Roderland/algorithm.git
git@gitee.com:Roderland/algorithm.git
Roderland
algorithm
algorithm
master

搜索帮助