力扣1590.使数组和能被P整除

力扣1590.使数组和能被P整除

  • 同余

    • 转化为求一段区间和余p为x
    • i - j = x
      • j = i - x
cpp 复制代码
  class Solution {
  public:
      int minSubarray(vector<int>& nums, int p) {
          int x = accumulate(nums.begin(),nums.end(),0LL) % p;
          if(x == 0) return 0;
          int n = nums.size(),ans = n,s = 0;
          unordered_map<int,int> last{{s,-1}};
          for(int i=0;i<n;i++)
          {
              s = (s + nums[i]) % p;
              last[s] = i;
              auto it = last.find((s - x + p) % p);
              if(it != last.end())
                  ans = min(ans,i - it->second);
          }
          return ans < n ? ans : -1;
      }
  };
相关推荐
sunburn-11 分钟前
Java 排序算法详细教学:从冒泡排序到快速排序
java·开发语言·数据结构·ide·算法
阳明山水20 分钟前
因果嵌入与流水线范式的本质差异
人工智能·深度学习·算法·机器学习·架构
小静AI工程实验室24 分钟前
MD5 算法详解:哈希原理、标准向量、输入编码与安全边界
算法·安全·哈希算法·md5
小许同学记录成长26 分钟前
几何体编辑算法
qt·算法
土星云SaturnCloud34 分钟前
HRNet-pose 算法全解析:从高分辨率网络原理到土星云 SE110S 边缘部署实战
服务器·人工智能·算法·ai·边缘计算
bksczm37 分钟前
零基础面试题1
jvm·数据结构·算法
sogw-三叶草️39 分钟前
LeetCode206. 反转链表
数据结构·链表
m0_7393128741 分钟前
【自动驾驶与机器人技术】之惯性导航与组合导航
算法·机器人·自动驾驶
驭渊的小故事1 小时前
牛客网算法刷题笔记:哈希表、贪心与动态规划实战
笔记·算法·散列表
careathers1 小时前
【数据结构】二叉树
数据结构·算法