文章目录

  • 1. 题目
  • 2. 解题

1. 题目

小易有 n 个数字排成一个环,你能否将它们分成连续的两个部分(即在环上必须连续),使得两部分的和相等

输入描述:

第一行数据组数 T ,对于每组数据
第一行数字 n ,表示数字个数
接下来一行 n 个数,按顺序给出环上的数字。
2 <= n <= 100000, 1 <= Ai <= 10 ^ 9

输出描述:
对于每组数据,一行输出YES/NO

示例1:
输入
1
6
1 2 3 4 5 6
输出
NO示例2:
输入
1
4
4 4 5 3
输出
YES

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/S0WXIw
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

#include<bits/stdc++.h>
using namespace std;
int main()
{int T, n, a, i;cin >> T;while(T--){cin >> n;   vector<long long> arr(n, 0);//注意溢出i = 0;while(n--){cin >> a;if(i == 0)arr[i] = a;elsearr[i] = arr[i-1] + a;//前缀和i++;}if(arr.back()%2 != 0)//和不能被2整除,分不开{cout << "NO" << endl;continue;}unordered_set<long long> s;long long half = arr.back()/2;bool yes = false;for(i = 0; i < arr.size(); ++i){if(s.count(arr[i]-half)){  //前缀和减去half的值存在,即找到连续的和为halfyes = true;break;}s.insert(arr[i]);//更新前缀和的集合}if(yes)cout << "YES" << endl;elsecout  << "NO" << endl;}
}

0 ms 3.2 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 网易-1. 分割环(前缀和 + 哈希)相关推荐

  1. LeetCode 525. 连续数组(前缀和+哈希)

    1. 题目 给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组(的长度). 示例 1: 输入: [0,1] 输出: 2 说明: [0, 1] 是具有相同数量0和1的最长连续子数组. ...

  2. 52 - 算法- leetcode 14 最长公共前缀

    // leetcode 14 最长公共前缀 str.sub(index1,index2)这个函数不清楚 // for(vector中的类class : vector) for 循环中的index 和 ...

  3. [模拟] leetcode 14 最长公共前缀

    [模拟] leetcode 14 最长公共前缀 1.题目 题目链接 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例1: 输入: [& ...

  4. Leetcode 14.最长公共前缀(Longest Common Prefix)

    Leetcode 14.最长公共前缀 1 题目描述(Leetcode题目链接)   编写一个函数来查找字符串数组中的最长公共前缀.如果不存在公共前缀,返回空字符串 "". 输入: ...

  5. LeetCode 14.最长公共前缀(字符串)

    上一篇博客:Leetcode 13.罗马数字转整数(字符串)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.最近萌生了刷LeetCode的 ...

  6. leetcode 416:分割等和子集

    leetcode 416:分割等和子集 416. 分割等和子集 给你一个 只包含正整数 的 非空 数组 nums .请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 示例 1: 输 ...

  7. LeetCode 2185. 统计包含给定前缀的字符串

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串数组 words 和一个字符串 pref . 返回 words 中以 pref 作为 前缀 的字符串的数目. 字符串 s 的 前缀 就是 s ...

  8. LeetCode 2017. 网格游戏(前缀和)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的二维数组 grid ,数组大小为 2 x n ,其中 grid[r][c] 表示矩阵中 (r, c) 位置上的点数. 现在有两个 ...

  9. LeetCode 1861. 旋转盒子(前缀和)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个 m x n 的字符矩阵 box ,它表示一个箱子的侧视图.箱子的每一个格子可能为: '#' 表示石头 '*' 表示固定的障碍物 '.' 表示空位 ...

最新文章

  1. 【Groovy】Groovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )
  2. win10如何设置麦克风?
  3. 基于命令行设置lazy-queue
  4. 栈应用_计算按运算符优先级分布的算式(代码、分析、汇编)
  5. 【算法】学习笔记(4):分治思想 归并排序
  6. Java 进阶——自动装箱和自动拆箱
  7. 华三交换机如何进入配置_学校机房项目交换机的如何配置,理解这篇,交换机配置不再难...
  8. Ubuntu 20.04 安装 .deb 文件报 failed to install file: not supported
  9. pivot sqlserver 条件_SqlServer行转列(PIVOT),列转行(UNPIVOT)总结
  10. android+制作开机动画,Android 开机动画制作详解
  11. asp毕业设计—— 基于asp+access的网上购物系统设计与实现(毕业论文+程序源码)——网上购物系统
  12. 输出星期名缩写python_python练习题5.1输出星期名缩写
  13. 思科Cisco 交换机型号概述
  14. vue支付项目-APP支付宝支付功能
  15. 一个DDD指导下的实体类设计案例
  16. 用python预测小孩的身高_预测孩子身高的实用方法
  17. 操作系统基础:进程逻辑思维导图,超简单理解进程管理
  18. Jboot框架的使用
  19. Google Dremel 理解
  20. 在面试中如何回答面试官的问题

热门文章

  1. 解决pycharm运行Flask指定ip、端口更改无效
  2. android tee,Android 9.0的新增安全特性与TEE
  3. jeecms附件标签用法
  4. 通俗理解数字签名,ssl数字证书和https
  5. IntelliJ IDEA使用教程(很全)
  6. 前端模块化(二):模块化编程
  7. 【windows phone】CollectionViewSource的妙用
  8. SPOJ GSS2 Can you answer these queries II (线段树离线) - xgtao -
  9. 正则表达式替换排除特定情况
  10. BZOJ4068 : [Ctsc2015]app