数组:左右两边数组的和相等
文章目录
- 题目
- 解题思路
- 代码
- 总结
题目
求数组中心数,如果数字Nums[i]前面的所有数组和等于其后面所有的数组和,那么nums[i]就是中心数。请返回从左起数组中第一个中心数。
输入:[1,7,3,6,2,9]
输出:3
解题思路
index | num | s |
---|---|---|
0 | 1 | 1 |
1 | 7 | 8 |
2 | 3 | 11 |
3 | 6 | 17 |
4 | 2 | 19 |
5 | 9 | 28 |
sum为数组下标i的累加数组数字的和,
total为数组所有元素累加之和。
我们可以发现规律:
2*sum + num[i] = total;
依据上面发现的规律,我们可以写出如下代码:
代码
public int pivotIndex(int[] nums) {int total = 0;for(int num: nums) {total += num;}int sum = 0;for(int i = 0; i< nums.length; i++) {if(2 * sum + nums[i] == total) {return i;}sum += nums[i];}return -1;
}
总结
本题也是求连续子数组数字的和。解决此题需要理解题意,理清思路后,就容易解答了。
数组:左右两边数组的和相等相关推荐
- 去掉数组左右两边的引号
情况是这样的一个数组 [] 正则去掉 "[]" 数组旁边的引号:下面就是方法(因为编译存数据库的时候,取出来成字符串了,多了给引号,所以要去掉) .replace(/^\&quo ...
- 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...
- 静态数组和动态数组 内存分布
数组是程序设计中是一个非常重要的概念.数组是一个用于收集大量类似数据的容器, 以及其每一个元素能被相同处理过程迭代来处理的一个抽象体. 创建数组一般有三种方式:全局/静态范围的数组,局部变量数组,申请 ...
- 指针 数组指针 指针数组 函数指针等说明。
指针的概念 原文地址:http://www.cnblogs.com/ggjucheng/archive/2011/12/13/2286391.html 指针是一个特殊的变量,它里面存储的数值被解释成为 ...
- shell 数组元素有空格_Shell数组:Shell数组定义以及获取数组元素
和其他编程语言一样,Shell 也支持数组.数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element). Shell 并且没有限制数组的大小,理论上可以存放无限量的数据.和 C+ ...
- C语言数组使用、数组相关的宏定义剖析,及矩阵乘积、杨辉三角实例
数组一直是编程语言学习中需要重点掌握的部分,它是最基本的数据结构类型,是构成字符串及其他许多重要构造结构的基础.相对许多其他高级语言来说,C语言对数组本身提供的支持并不太多,尤其是不支持动态 ...
- python中的二维数组与一维数组,矩阵和一维数组之间的运算
一.python中的二维数组和一维数组之间的运算 1.当二维数组为p×p维 a=np.array([[1,2],[3,4]]) print(a.shape) a 输出: (2, 2) array([[ ...
- Numpy 生成 Bool型数组、一维转多维数组reshape、多维转一维数组、替换数组元素、提取数组元素、数组交集、差集、过滤数组元素、二维数组反转行、交换数组维度
1. 创建一个 [3,5] 所有元素为 True 的数组 In [162]: b = np.ones((3,5), dtype=bool)In [163]: b Out[163]: array([[ ...
- Go 学习笔记(10)— 数组定义、数组声明、数组初始化、访问数组、数组相等、向函数传递数组
1. 数组定义 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 2. 声明数组 Go 语言数组声明需要指定元素类型及元素个数,语 ...
- C++二维数组名与数组指针的思考
二维数组名和数组指针可以当做一个东西用,但两者之间的含义是不同的. 二维数组名是一个指向数组中所有元素的指针,而数组指针是一个行指针.体现在sizeof()上的不同. #include <ios ...
最新文章
- [Vue CLI 3] 源码之 webpack-chain
- Python: pip升级报错了:You are using pip version 10.0.1, however version 20.3.3 is available.
- Hexo+NexT搭建博客笔记
- 计算机管理 如何将c盘,教程:新买的电脑如何把C盘分区成多个盘?
- python ftp编程_【编程】Python FTP
- linux聪某个附属组删除_linux-user-group添加与删除
- Hadoop开发环境的搭建与配置(基于Linux)
- 20170824关于星光级和低照度你了解多少?
- DC-DC转换器分类-和讯康讲堂
- yolov3安卓实现_Android—yolov3目标检测移植
- 欧路词典如何导入html,[转载]如何用欧路词典背单词?
- 如何使用WPS更换证件照底色
- 有效提排名!2022 年最全App应用市场优化(ASO)策略
- 万能开头结尾(申论)
- Java序列化神器——Jprotobuf(小白篇)
- vscode常用插件-Auto Close Tag
- GCN—图卷积神经网络理解
- 使用httpclient必须知道的参数设置及代码写法、存在的风险
- 图形验证码和短信验证码
- python爬虫学习(六)kfc门店地址
热门文章
- 2022年5月国产数据库大事记-墨天轮
- 一次简单的shodan的使用
- 2023前端面试题及答案整理(JS面试题)
- Java运费计算程序_Woocommerce自定义字段的运费计算器
- 人工智能应用加持,戴尔科技升级混合办公新体验
- 安装部署vCenter 6.7
- 会使用mysql_mysql必知必会--使用MySQL
- 电视机计算机无法退出,【自助服务】在家遇到电视故障不用烦,『自助排障手册』帮你解忧愁!...
- 安装MySQL时,输入mysqld --install后,显式该文件已存在
- 照片生成漫画头像的软件,试试这个方法很好用