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

寻找数组的中心索引

题目

class Solution {public int pivotIndex(int[] nums) {for (int i = 0; i< nums.length; i++){int left = 0;        //每次进行重置int right = 0;for (int j = i+1; j<nums.length; j++) {right += nums[j];}for (int j = i-1; j>=0; j--){left += nums[j];}if (left == right) {return i;    //返回索引;如果有多个符合值,直接返回第一个,不需要把所有符合值都找出来                   } }return -1;      //不用加if,如果有中心下标,已经返回i}
}

class Solution {public int pivotIndex(int[] nums) {int totalnum = 0;for (int num : nums) {totalnum += num;}for (int i = 0; i< nums.length; i++){int left = 0;int right = 0;for (int j = i+1; j<nums.length; j++) {right += nums[j];}left = totalnum - right - nums[i];if (left == right) {return i;} }return -1;}
}

class Solution {public int pivotIndex(int[] nums) {int totalnum = 0;for (int num : nums) {totalnum += num;}int left = 0;int right = 0;for (int i = 0; i< nums.length; i++){left = totalnum - right - nums[i];if (left == right) {return i;} right += nums[i];}return -1;}
}

class Solution {public int pivotIndex(int[] nums) {int totalnum = 0;for (int num : nums) {totalnum += num;}int right = 0;for (int i = 0; i< nums.length; i++){if (2*right + nums[i] == totalnum) {    //left == rightreturn i;} right += nums[i];}return -1;}
}

总结:

效率优化:先计算总和,再动态更新两侧和

明确返回:数组下标指的是索引

代码冗余:循环结束,代表没有找到数组下标,直接返回-1,不需要再加条件

判断条件:left == right,  2*left + nums[i] = totalnum

提示条件:根据提示条件可得,数组范围【10^-7, 10^7】, int类型数据范围【(-2)^31, 2^31 - 1】,所以使用int类型数组即可。

http://www.dtcms.com/a/336540.html

相关文章:

  • ai测试(六)
  • [Java恶补day50] 174. 地下城游戏
  • 数据结构03(Java)--(递归行为和递归行为时间复杂度估算,master公式)
  • 数学建模 13 SVM 支持向量机
  • 原子操作及基于原子操作的shared_ptr实现
  • PYTHON让繁琐的工作自动化-PYTHON基础
  • 【撸靶笔记】第五关:GET - Double Injection - Single Quotes - String
  • 基于STM32单片机智能RFID刷卡汽车位锁桩设计
  • Qt同步处理业务并禁用按钮
  • linux系统------kubenetes单机部署
  • LeetCode 分类刷题:2962. 统计最大元素出现至少 K 次的子数组
  • 5G虚拟仿真平台
  • [激光原理与应用-292]:理论 - 波动光学 - 驻波的本质是两列反向传播的相干波通过干涉形成的能量局域化分布
  • 安全多方计算(MPC)简述
  • Compose笔记(四十六)--Popup
  • Houdini 粒子学习笔记
  • 服装外贸管理软件 全流程优化解决方案
  • 学习记录(二十)-Overleaf如何插入参考文献
  • Chrome 插件开发实战:从入门到上架的全流程指南
  • 最长回文子串问题:Go语言实现及复杂度分析
  • 63.不同路径
  • Django前后端交互实现用户登录功能
  • 计算机网络---跳板机与堡垒机
  • Centos 更新/修改宝塔版本
  • 第七十八章:AI的“智能美食家”:输出图像风格偏移的定位方法——从“滤镜病”到“大师风范”!
  • 点云的PFH 和 FPFH特征
  • k8sday09
  • C# 反射和特性(自定义特性)
  • 股票术语:“支撑位”
  • 解码词嵌入向量的正负奥秘