当前位置: 首页 > news >正文

宝鸡网站建设优化怎样在百度上打广告

宝鸡网站建设优化,怎样在百度上打广告,做微网站需要域名吗,大连地图一、题目 给你一个正整数数组 nums,请你移除 最短 子数组(可以为 空),使得剩余元素的 和 能被 p 整除。 不允许 将整个数组都移除。 请你返回你需要移除的最短子数组的长度,如果无法满足题目要求,返回 -1…

一、题目

给你一个正整数数组 nums,请你移除 最短 子数组(可以为 空),使得剩余元素的 和 能被 p 整除。 不允许 将整个数组都移除。

请你返回你需要移除的最短子数组的长度,如果无法满足题目要求,返回 -1 。

子数组 定义为原数组中连续的一组元素。
在这里插入图片描述
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/make-sum-divisible-by-p/description/

二、C++解法

我的思路及代码

我的方法时间复杂度太高,导致不能通过测试用例
采用前缀和的思路,然后从头开始用不同的窗口大小对数组进行遍历,窗口内的元素即为被删除的元素,直到最后剩下的数组元素和可以被整除返回当前的窗口大小,否则返回 -1。由于本题目只需要判断是否可以被整除,所以在前缀和中我们可以简化存储的数据,每次可以存储取余后的数据。

class Solution {
public:int minSubarray(vector<int>& nums, int p) {int size = nums.size();int prefixSum[size+1];int ans=1;prefixSum[0] = 0;for(int i=1;i<nums.size()+1;i++){prefixSum[i] = (prefixSum[i-1]+nums[i-1])%p;}if(prefixSum[size]%p==0)return 0;while(ans<size+1){for(int j=ans;j<size+1;j++){if((prefixSum[size]-(prefixSum[j]-prefixSum[j-ans]))%p==0)return ans;}ans++;}return -1;}
};
  • 时间复杂度:O(n2),其中 n 是数组 nums 的长度
  • 空间复杂度:O(n),数组需要 O(n) 的空间

官方参考代码

前缀和+哈希表

在这里插入图片描述

  • 时间复杂度:O(n),其中 n 是数组 nums 的长度。遍历数组 nums 需要 O(n) 的时间
  • 空间复杂度:O(n),保存哈希表需要 O(n) 的空间
http://www.15wanjia.com/news/33292.html

相关文章:

  • 做卡盟开端网站要多少钱百度免费安装下载
  • 商城型网站开发网站建设安徽网络优化公司
  • 网站建设找伟杨科技宁波seo整站优化
  • wordpress安装说明上海还能推seo吗
  • 给私人企业做网站推广seo网络排名优化
  • 高端定制品牌无锡网站制作优化
  • 十堰网站制作网站建设优化400报价
  • 软件开发的五个基本步骤惠州seo关键词排名
  • 常用的网页开发工具有哪些夫唯seo培训
  • 共青城网站建设公司软文推广
  • 永川网站建设免费做网站网站的软件
  • 溧水建设局网站广告推销
  • 做财经比较好的网站有哪些广州竞价托管代运营
  • 政府门户网站建设规划书武汉seo网站优化排名
  • 企业网站开发流程漯河seo公司
  • 沈阳建网站 哪家好网站建设营销型
  • 深圳做营销网站建设下载百度2023最新版安装
  • 发现了一个做字素的网站公司网站优化
  • 深圳做app网站的公司哪家好直播:韩国vs加纳直播
  • 阿里云wordpress建站沧州网站建设公司
  • 重庆网站建设选圣矢搜索引擎在线观看
  • 辽宁城乡住房建设厅网站打不开一链一网一平台
  • 个人做网站需要多少钱深圳做网站的公司
  • 香港做一楼一凤的网站合法吗网站建设公司排名
  • 用ip地址做网站开网站需要多少钱
  • 香港特别行政区装饰网站建设软文营销的本质
  • 中国货源大全网东莞seo关键词排名优化排名
  • 现在疫情严重吗最新消息东莞整站优化
  • 淘客网站怎么做代理哈尔滨seo优化公司
  • 网站开发方向游戏推广员是违法的吗