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

广州建网站的公司 白云区北京搜狗建网站的电话

广州建网站的公司 白云区,北京搜狗建网站的电话,网站页面设计培训,数字货币网站开发优选算法第四讲#xff1a;前缀和模块 1.[模板]前缀和2.【模板】二维前缀和3.寻找数组的中心下标4.除自身以外数组的乘积5.和为k的子数组6.和可被k整除的子数组7.连续数组8.矩阵区域和 1.[模板]前缀和 链接: link #include iostream #include vector using… 优选算法第四讲前缀和模块 1.[模板]前缀和2.【模板】二维前缀和3.寻找数组的中心下标4.除自身以外数组的乘积5.和为k的子数组6.和可被k整除的子数组7.连续数组8.矩阵区域和 1.[模板]前缀和 链接: link #include iostream #include vector using namespace std;int main() {int n 0, q 0;cin n q;vectorint arr(n1);//开辟一个n1的数组for(int i 1; i n; i) cin arr[i];//创建一个前缀和数组。vector的构造会自己初始化vectorlong long dp(n1);//更新前缀和数组for(int i 1; in; i) dp[i] dp[i-1] arr[i];//直接使用前缀和数组进行返回即可int l 0, r 0;while(q--){cin l r;cout dp[r] - dp[l-1] endl;//直接输出结果即可}return 0; }2.【模板】二维前缀和 链接: link 3.寻找数组的中心下标 链接: link class Solution { public:int pivotIndex(vectorint nums) {int n nums.size();vectorint f(n), g(n);//1.分别求出前缀和、后缀和数组for(int i 1; in; i)f[i] f[i-1] nums[i-1];for(int i n-2; i0; i--)g[i] g[i1] nums[i1];//2.使用前缀和、后缀和数组for(int i 0; in; i)if(f[i] g[i]) return i;return -1;} };4.除自身以外数组的乘积 链接: link class Solution { public:vectorint productExceptSelf(vectorint nums) {int n nums.size();vectorint f(n), g(n);//1.先求出f和g数组f[0] 1;//注意细节问题一定要处理g[n-1] 1;for(int i 1; in; i)f[i] f[i-1] * nums[i-1];for(int i n-2; i0; i--)g[i] g[i1] * nums[i1];//2.使用两数组vectorint ret(n);for(int i 0; in; i)ret[i] f[i] * g[i];return ret;} };5.和为k的子数组 链接: link class Solution { public:int subarraySum(vectorint nums, int k) {unordered_mapint, int hash;hash[0] 1;int sum 0, ret 0;for(auto e : nums){sum e;//计算当前位置的前缀和if(hash.count(sum - k)) ret hash[sum-k];hash[sum];}return ret;} };6.和可被k整除的子数组 链接: link class Solution { public:int subarraysDivByK(vectorint nums, int k) {unordered_mapint, int hash;hash[0] 1;//细节问题如果nums的和可被k整除那么也要将次数1int sum 0, ret 0;for(auto e : nums){sum e;int r (sum%k k) % k;//求余数的方法if(hash.count(r)) ret hash[r];//如果sum%k 前缀和%k那么就可以被k整除hash[r];}return ret;} };7.连续数组 链接: link class Solution { public:int findMaxLength(vectorint nums) {unordered_mapint, int hash;hash[0] -1;int sum 0, ret 0;for(int i 0; inums.size(); i){sum nums[i] 0 ? -1 : 1;//我们不需要将数组的0改为1只需要在加的这个部分加-1就行了if(hash.count(sum)) ret max(ret, i-hash[sum]);else hash[sum] i;//此时存储的应该是下标}return ret;} };8.矩阵区域和 链接: link class Solution { public:vectorvectorint matrixBlockSum(vectorvectorint mat, int k) {int m 0, n 0;m mat.size();n mat[0].size();//先计算出前缀和数组vectorvectorint dp(m1, vectorint(n1));for(int i 1; im; i)for(int j 1; jn; j)dp[i][j] dp[i-1][j]dp[i][j-1]-dp[i-1][j-1]mat[i-1][j-1];//前缀和数组的使用vectorvectorint ret(m, vectorint(n));for(int i 0; im; i){for(int j 0; jn; j){int x1 0, y1 0, x2 0, y2 0;x1 max(0, i-k) 1;y1 max(0, j-k) 1;x2 min(m-1, ik) 1;y2 min(n-1, jk) 1;ret[i][j] dp[x2][y2] - dp[x1-1][y2] - dp[x2][y1-1] dp[x1-1][y1-1];}}return ret;} };
http://www.hkea.cn/news/14423921/

相关文章:

  • 备案一个网站为什么需要域名wordpress实战教程 pdf
  • 兴县做网站的公司网站怎么做json数据
  • 电子类 购物网站企业网站可以做淘宝客吗
  • 阿里云建wordpress站网站建设的价
  • 创建免费网站注意事项南昌集团网站建设公司
  • 钦州市住房和城乡建设局网站哈尔滨市延寿建设局网站
  • 做这个网站多少钱数字营销网站主页优化
  • 中小企业网站设计总结网站后台传不了图片
  • 福州市工程建设质量管理网站东莞网站建设完整
  • 爱战网关键词查询网站wordpress导航页
  • 上海网站建设高端定制cms系统表单
  • 卖鞋的网站建设思路网站镜像 cdn
  • 免费的网站程序哪里好网站做跳转的要求
  • 安庆迎江区建设局网站动漫网站设计模板
  • linux建设网站开发一个需要多少钱
  • 网站建设制作设计营销 中山运营策划方案模板
  • 网站服务器地址怎么查wordpress下载整站源码
  • 广州网站平台怎么做wordpress 默认头像 本地
  • 怎么建设网站怎么样四海网络网站建设
  • 可以做宣传海报的网站学校网站建设解决方案
  • 深圳创意网站设计广东的网站建设案例
  • 建设网站开发的语言有哪些wordpress博客下载插件
  • 电子商务网站开发 当当网深圳展览公司排行
  • 怎样在手机上建设网站保定网站建设与seo
  • 外贸网站推广方式百度热门关键词
  • 金融网站源码下载 网站样板
  • 专业公司网站制作公司优秀设计案例作品
  • 网站建设周期计划有什么做设计接任务的网站
  • 变更网站怎么做wordpress epix v1.2
  • 重庆网站建设沛宣简单软件开发工具