Java尋找數組的中心下標

目錄

1.題目描述

2.題解

分析

具體實現


1.題目描述

給你一個整數數組 nums?,請計算數組的?中心下標?

數組?中心下標?是數組的一個下標,其左側所有元素相加的和等于右側所有元素相加的和

如果中心下標位于數組最左端,那么左側數之和視為?0?,因為在下標的左側不存在元素。這一點對于中心下標位于數組最右端同樣適用。

如果數組有多個中心下標,應該返回?最靠近左邊?的那一個。如果數組不存在中心下標,返回 -1?。

示例

輸入:nums =?[1, 7, 3, 6, 5, 6]

輸出:3

中心下標mid 為3?

中心下標左側之和為 sum1 = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11

中心下標右側之和為 sum2 = nums[4] + nums[5] = 5 + 6 = 11

2.題解

分析

通過題目描述和給出的示例,我們可以發現中心下標左側數之和sum1與右側數之和sum2相等,且sum1 + sum2 + nums[mid] = 數組所有元素之和total,即?sum1*2 + nums[mid] = total

因此,我們從左開始遍歷數組,當nums[i] + sum1(左側數之和)*2 = total時,i即為數組的中心下標

具體實現

class Solution {public int pivotIndex(int[] nums) {//計算數組所有元素之和int total = 0;for (int i = 0; i < nums.length; i++) {total += nums[i];}//左側數之和int sum = 0;for (int i = 0; i < nums.length; i++) {//當左側數之和的2倍 + nums[i]為數組所有元素之和時,i為中心下標if(2*sum + nums[i] == total){return i;}else{//繼續遍歷數組sum += nums[i];}}//未找到中心下標,返回-1return -1;}

注:題目出自力扣,鏈接如下

724. 尋找數組的中心下標 - 力扣(LeetCode)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43251.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43251.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43251.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【C++ 記憶站】引用

文章目錄 一、引用概念二、引用特性1、引用在定義時必須初始化2、一個變量可以有多個引用3、引用一旦引用一個實體&#xff0c;再不能引用其他實體 三、常引用四、使用場景1、做參數1、輸出型參數2、大對象傳參 2、做返回值1、傳值返回2、傳引用返回 五、傳值、傳引用效率比較六…

label引用圖片出現??

參考latex 引用圖片“\ref figure”_latex \ref加上前綴fig_Junruiqwertyuiop的博客-CSDN博客 label需要放在caption后面&#xff0c;如 \caption{Overview of BERT.} \label{BERT} 猜測&#xff0c;label可能會根據圖表或者公式的caption與圖表或公式綁定并編號&#xff0…

【MT32F006】MT32F006之CS1237采集秤傳感器

本文最后修改時間&#xff1a;2023年06月07日 一、本節簡介 本文介紹如何使用MT32F006連接CS1237芯片采集秤傳感器。 二、實驗平臺 庫版本&#xff1a;V1.0.0 編譯軟件&#xff1a;MDK5.37 硬件平臺&#xff1a;MT32F006開發板&#xff08;主芯片MT32F006&#xff09; 仿真…

Chrome命令行開關

Electron 支持的命令行開關 –client-certificatepath 設置客戶端的證書文件 path . –ignore-connections-limitdomains 忽略用 , 分隔的 domains 列表的連接限制. –disable-http-cache 禁止請求 HTTP 時使用磁盤緩存. –remote-debugging-portport 在指定的 端口 通…

ORACLE中判斷表是否存在再刪除表避免報錯與MySql和SqlServer的不同

不同數據庫中drop a table if it exists的不同&#xff1a; In MySQL it is pretty easy to drop a table if it exists already. In Oracle and Microsoft’s SQL Server it is a little more complicated. Today I want to present you the solutions for these two DBMS’.…

常見的CRM系統報價

一個CRM系統大概多少錢&#xff1f;CRM系統的價格因為不同的廠商、功能、部署方式、用戶數等因素而有很大的差異&#xff0c;沒有一個固定的標準。但是&#xff0c;我們可以根據一些常見的CRM軟件的報價&#xff0c;對CRM價格有一個大致的了解。 一、CRM的部署方式 CRM系統的…

【RocketMQ】快速入門

文章目錄 消費模式同步消息異步消息單向消息延遲消息批量消息順序消息事務消息Tag標簽和Key鍵Tag的使用Key的使用 首先引入rocketmq的依賴 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><ve…

HackNos 3靶場

配置 進入控制面板配置網卡 第一步&#xff1a;啟動靶機時按下 shift 鍵&#xff0c; 進入以下界面 第二步&#xff1a;選擇第二個選項&#xff0c;然后按下 e 鍵&#xff0c;進入編輯界面 將這里的ro修改為rw single init/bin/bash&#xff0c;然后按ctrlx&#xff0c;進入…

數據結構的圖存儲結構

目錄 數據結構的圖存儲結構 圖存儲結構基本常識 弧頭和弧尾 入度和出度 (V1,V2) 和 的區別,v2> 集合 VR 的含義 路徑和回路 權和網的含義 圖存儲結構的分類 什么是連通圖&#xff0c;&#xff08;強&#xff09;連通圖詳解 強連通圖 什么是生成樹&#xff0c;生…

springboot集成ES

1.引入pom依賴2.application 配置3.JavaBean配置以及ES相關注解 3.1 Student實體類3.2 Teacher實體類3.3 Headmaster 實體類4. 啟動類配置5.elasticsearchRestTemplate 新增 5.1 createIndex && putMapping 創建索引及映射 5.1.1 Controller層5.1.2 service層5.1.3 ser…

leetcode做題筆記85最大矩形

給定一個僅包含 0 和 1 、大小為 rows x cols 的二維二進制矩陣&#xff0c;找出只包含 1 的最大矩形&#xff0c;并返回其面積。 示例 1&#xff1a; 思路一&#xff1a;單調棧 int maximalRectangle(char** matrix, int matrixSize, int* matrixColSize){int dp[matrixSize…

使用MAT分析OOM問題

OOM和內存泄漏在我們的工作中&#xff0c;算是相對比較容易出現的問題&#xff0c;一旦出現了這個問題&#xff0c;我們就需要對堆進行分析。 一般情況下&#xff0c;我們生產應用都會設置這樣的JVM參數&#xff0c;以便在出現OOM時&#xff0c;可以dump出堆內存文件&#xff…

基于libevent的tcp服務器

libevent使用教程_evutil_make_socket_nonblocking_易方達藍籌的博客-CSDN博客 一、準備 centos7下安裝libevent庫 yum install libevent yum install -y libevent-devel 二、代碼 server.cpp /** You need libevent2 to compile this piece of code Please see: http://li…

專訪 BlockPI:共建賬戶抽象未來的新一代 RPC 基礎設施

在傳統 RPC 服務板塊上&#xff0c;開發者一直飽受故障風險、運行環境混亂等難題的折磨。實現 RPC 服務的去中心化&#xff0c;且保持成本優勢和可擴展性&#xff0c;始終是區塊鏈基礎設施建設的重要命題之一。從 2018 年觀察中心化 RPC 供應商服務現狀開始&#xff0c;BlockPI…

內存管理(1)

內存管理&#xff08;1&#xff09; 1、各類型數據在內存中的存儲空間2、C內存管理方式2.1 針對于內置類型分析2.2 針對于自定義類型分析2.3 C語言與C在申請動態內存失敗時的區別 3、operator new 和 operator delete函數&#xff08;重點&#xff09;3.1 底層知識解析3.2 實現…

linux-shell腳本收集

創建同步腳本xsync mkdir -p /home/hadoop/bin && cd /home/hadoop/bin vim xsync#!/bin/bash#1. 判斷參數個數 if [ $# -lt 1 ] thenecho Not Arguementexit; fi#2. 遍歷集群所有機器 for host in node1 node2 node3 doecho $host #3. 遍歷所有目錄&#xff0c;挨…

web3:使用Docker-compose方式部署blockscout

最近做的項目,需要blockscout來部署一個區塊鏈瀏覽器,至于blockscout是什么,咱們稍后出一篇文章專門介紹下,本次就先介紹一下如何使用Docker-compose方式部署blockscout,以及過程中遇到的種種坑 目錄 先決條件我的環境準備工作Docker-compose1.安裝方式一:下載 Docker Co…

財務數據分析之現金流量表模板分享

現金流量表是我們常說的財務數據分析三表之一。它可以呈現一個企業的現金流情況&#xff0c;揭示企業經營管理健康狀態&#xff0c;但在實際使用中卻有總給人一種用不上、用不好的矛盾感。怎么才能把現金流量表做好&#xff1f;不如借鑒下大神的現金流量表模板。 下面介紹的是…

RabbitMQ-消息中間件學習記錄(what-how-why)

什么是消息中間件 簡單的來說就是消息隊列中間件&#xff0c;生產者發送消息到中間件&#xff0c;消息中間件用于 保存消息并發送消息到消費者。 消息中間件RabbitMQ的基本組件 1&#xff09;producer -生產者 2&#xff09;customer -消費者 3&#xff09;broker (經紀人)- M…

【Java 動態數據統計圖】動態數據統計思路案例(動態,排序,數組)四(116)

需求&#xff1a;&#xff1a;前端根據后端的返回數據&#xff1a;畫統計圖&#xff1b; 1.動態獲取地域數據以及數據中的平均值&#xff0c;按照平均值降序排序&#xff1b; 說明&#xff1a; X軸是動態的&#xff0c;有對應區域數據則展示&#xff1b; X軸 區域數據降序排序…