您当前的位置: 首页 > 

孑渡

暂无认证

  • 4浏览

    0关注

    178博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

每日一题:2021/6/2

孑渡 发布时间:2021-06-02 12:31:23 ,浏览量:4

给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。 如果存在,返回 true ;否则,返回 false 。 如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。

class Solution {
public:
    bool checkSubarraySum(vector& nums, int k) {
        int n = nums.size();
        if(n == 1)
            return false;
        if(n == 2)
            return  (nums[0] + nums[1]) % k == 0;
        vectordp(n + 1, 0);
        vectormodk(k, false);
        dp[1] = nums[0] % k;
        dp[2] = (nums[0] + nums[1]) % k;
        int old = dp[1];
        int current = dp[2];
        if(current % k == 0)
            return true;
        for(int i = 3; i             
关注
打赏
1663211900
查看更多评论
0.0688s