博客
关于我
leetcode------523. 连续的子数组和[1]
阅读量:186 次
发布时间:2019-02-28

本文共 1201 字,大约阅读时间需要 4 分钟。

题目描述:

给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数

示例 1:

输入: [23,2,4,6,7], k = 6输出: True解释: [2,4] 是一个大小为 2 的子数组,并且和为 6。

示例 2:

输入: [23,2,6,4,7], k = 6输出: True解释: [23,2,6,4,7]是大小为 5 的子数组,并且和为 42。

说明:

  1. 数组的长度不会超过10,000。
  2. 你可以认为所有数字总和在 32 位有符号整数范围内。

关键是找到转移方程,让以前累计的有用。

另外注意的是不需要N行,边计算边验证,只需要2行即可。否则无法开数组。

class Solution {    public:        int D[2][10000];        bool checkSubarraySum(vector
& nums, int k) { int N=nums.size(); int kk=N; int ilevel=0; if(N==0) return false; //if(k==0) return false; for(int i=0; i
0) { for(int i=0; i

或者采用穷举法,通过预处理 复杂性(n^2)

class Solution {    public:        int sum[10010];        bool checkSubarraySum(vector
& nums, int k) { int N=nums.size(); int kk=N; int ilevel=0; if(N==0) return false; nums.push_back(0); //if(k==0) return false; int isum=0; for(int i=N; i>-1; i--) { isum+=nums[i]; sum[i]=isum; } for(int i=0; i<=N; i++) for(int j=0; j

 

转载地址:http://vnki.baihongyu.com/

你可能感兴趣的文章
nghttp3使用指南
查看>>
Nginx
查看>>
nginx + etcd 动态负载均衡实践(一)—— 组件介绍
查看>>
nginx + etcd 动态负载均衡实践(三)—— 基于nginx-upsync-module实现
查看>>
nginx + etcd 动态负载均衡实践(二)—— 组件安装
查看>>
nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
查看>>
Nginx + Spring Boot 实现负载均衡
查看>>
Nginx + Tomcat + SpringBoot 部署项目
查看>>
Nginx + uWSGI + Flask + Vhost
查看>>
Nginx - Header详解
查看>>
nginx - thinkphp 如何实现url的rewrite
查看>>
Nginx - 反向代理、负载均衡、动静分离、底层原理(案例实战分析)
查看>>
Nginx - 反向代理与负载均衡
查看>>
nginx 1.24.0 安装nginx最新稳定版
查看>>
nginx 301 永久重定向
查看>>
nginx 301跳转
查看>>
nginx 403 forbidden
查看>>
nginx connect 模块安装以及配置
查看>>
nginx css,js合并插件,淘宝nginx合并js,css插件
查看>>
Nginx gateway集群和动态网关
查看>>