iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >寻找数组的中心下标-C语言/Java
  • 177
分享到

寻找数组的中心下标-C语言/Java

c语言开发语言java算法 2023-09-06 15:09:29 177人浏览 八月长安
摘要

描述         数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有

描述

        数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。

  • 1 <= nums.length <= 104
  • -1000 <= nums[i] <= 1000

示例1

输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:中心下标是 3 。左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,右侧数之和 sum = nums[4] + nums[5] = 5 + 6 = 11 ,二者相等。

示例2

输入:nums = [1, 2, 3]输出:-1解释:数组中不存在满足此条件的中心下标。

示例3

输入:nums = [2, 1, -1]输出:0解释:中心下标是 0 。左侧数之和 sum = 0 ,(下标 0 左侧不存在元素),右侧数之和 sum = nums[1] + nums[2] = 1 + -1 = 0 。

       思路:记数组的全部元素之和为 sum,当遍历到第 i 个元素时,设其左侧元素之和为 sum1,则其右侧元素之和为 sum-sum1-nums[i],左右侧元素之和相等,即sum1=sum-sum1-nums[i],则有sum=sum1*2+nums[i]。

C语言

#include//找中心下标int pivotIndex(int* nums, int numsSize) {    int sum = 0;    for (int i = 0; i < numsSize; i++)    {        sum += nums[i];    }    int sum1 = 0;    for (int i = 0; i < numsSize; i++)    {        if (sum1 * 2 + nums[i] == sum)        {            return i;        }        sum1 += nums[i];    }    return -1;}int main(){    int count;    scanf("%d", &count);    int str[count];    for(int i = 0;i

Java

class Solution {    public int pivotIndex(int[] nums) {            int sum=0;            //遍历数组求和            for(int x:nums){                sum+=x;            }            //判断是否满足条件            int sum1=0;            for(int i=0;i

来源地址:https://blog.csdn.net/qq_64668629/article/details/132176206

--结束END--

本文标题: 寻找数组的中心下标-C语言/Java

本文链接: https://www.lsjlt.com/news/397197.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 寻找数组的中心下标-C语言/Java
    描述         数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有...
    99+
    2023-09-06
    c语言 开发语言 java 算法
  • Java寻找数组的中心下标
    目录 1.题目描述 2.题解 分析 具体实现 1.题目描述 给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端,那么...
    99+
    2023-09-01
    算法 数据结构 java
  • Go语言题解LeetCode724寻找数组的中心下标
    目录题目描述思路分析AC 代码题目描述 724. 寻找数组的中心下标 - 力扣(LeetCode) (leetcode-cn.com) 给你一个整数数组 nums ,请...
    99+
    2022-12-28
    Go语言寻找数组中心下标 Go LeetCode题解
  • Leetcode724:寻找数组的中心
    给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心...
    99+
    2023-01-31
    数组 中心
  • c语言数组下标访问规则是什么
    在C语言中,数组的下标访问规则如下:1. 数组的下标从0开始,即第一个元素的下标为0,第二个元素的下标为1,依此类推。2. 数组的长...
    99+
    2023-08-25
    c语言
  • C语言面试C++二维数组中的查找示例
    目录二维数组中的查找面试题3:暴力遍历动态基点操作二维数组中的查找 面试题3: 似题: 我做过这个类似的有杨氏矩阵为背景的,实际上是一样的 暴力遍历 二维数组暴力遍历的话时间复杂度...
    99+
    2022-11-12
  • c语言怎么找出数组中重复的数字
    可以使用两种方法来找出数组中重复的数字。 方法一:使用“哈希表” 创建一个哈希表,用于记录每个数字出现的次数。 遍历数组,将数组中...
    99+
    2023-10-26
    c语言
  • 浅谈C语言数组元素下标为何从0开始
        很多同学可能在学习数组时会有这个疑问,下标为什么不从1开始呢?从1开始不是更符合大家的日常习惯吗?生活中我们通常说第1个,而不是第0个。的确,有些计算机语...
    99+
    2022-11-12
  • C语言数组元素下标为什么要从0开始
    本篇文章给大家分享的是有关C语言数组元素下标为什么要从0开始,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。    很多同学可能在学习数组时会有这个疑问,下标...
    99+
    2023-06-26
  • c语言怎么在数组中查找指定元素
    在C语言中,可以使用循环结构来在数组中查找指定元素。以下是一个示例代码:```c#include int main() {int a...
    99+
    2023-10-10
    c语言
  • 两个数组的交集-C语言/Java
    描述         给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。(1 ...
    99+
    2023-09-01
    c语言 java 算法
  • 深入了解一下C语言中的柔性数组
    目录什么是柔性数组柔性数组的使用什么是柔性数组 柔性数组是在C99中定义的 结构体的最后一个元素允许是未知大小的数组,这就叫柔性数组 柔性数组的长度可以写成0,也可以不规定数组长度 ...
    99+
    2023-02-13
    C语言柔性数组使用 C语言柔性数组
  • C++中怎么利用LeetCode寻找旋转有序数组的最小值
    这篇文章将为大家详细讲解有关C++中怎么利用LeetCode寻找旋转有序数组的最小值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。[LeetCode] 154. Find Minimum i...
    99+
    2023-06-20
  • c语言中的标识符是由什么组成
    本教程操作环境:windows7系统、c99、Dell G3电脑。c语言中的标识符由在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符。标识符可以简单认为是一个名字,用来标识变量名、常量名、函数名及...
    99+
    2022-11-23
    C语言 标识符
  • 怎么在c语言中使用二分法查找数组中的元素
    今天就跟大家聊聊有关怎么在c语言中使用二分法查找数组中的元素,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。c语言二分法实现查找数组元素的方法:递归算法#include<stdi...
    99+
    2023-06-14
  • C语言修炼之路悟彻数组真妙理 巧用下标破万敌下篇
    目录(壹)冒泡排序1.1冒泡排序的设计1.2冒泡排序的步骤1.3冒泡排序的实现(贰)数组作为函数参数2.1冒泡排序函数的错误设计2.2冒泡排序函数的正确设计(叁)对数组名的拓展解析 ...
    99+
    2022-11-13
  • c语言怎么读取数组中的数
    在C语言中,可以使用循环结构(例如for循环或while循环)来依次读取数组中的元素。下面是两种常用的方法:1. 使用下标访问数组元...
    99+
    2023-09-14
    c语言
  • C语言中数组的使用详解
    目录1 数组的基本概念2 数组定义语法3 一维数组的初始化3.1 全部初始化3.2 部分元素赋初值3.3 省略长度赋初值4 一维数组的使用示例4.1 求最大值、最小值、平均值4.2 ...
    99+
    2022-11-12
  • C语言中数组的示例分析
    这篇文章给大家分享的是有关C语言中数组的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 数组数组是一组相同类型变量的有序集合,用于存放一组相同类型的数据。这一组变量用数组名和从0开始的下标标识,使用内...
    99+
    2023-06-29
  • C语言怎么清空数组中的数据
    要清空一个数组中的数据,可以使用以下方法之一:1. 使用循环遍历数组,将数组中的每个元素赋值为0或者空值(根据数组类型确定赋值内容)...
    99+
    2023-09-21
    C语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作