搜尋
首頁JavaJava入門java實作尋找數組中心索引的方法

java實作尋找數組中心索引的方法

Apr 20, 2020 pm 04:09 PM
java陣列

java實作尋找數組中心索引的方法

目的:

給定一個整數型別的陣列 nums,請寫一個能夠傳回陣列「中心索引」的方法。

陣列中心索引定義:

陣列中心索引的左側所有元素相加的和等於右側所有元素相加的和。如果數組不存在中心索引,那麼我們應該回傳 -1。如果陣列有多個中心索引,那麼我們應該會回傳最靠近左邊的那一個。

相關影片教學推薦:java影片

範例1:

输入: 
nums = [1, 7, 3, 6, 5, 6]
输出: 3
解释: 
索引3 (nums[3] = 6) 的左侧数之和(1 + 7 + 3 = 11),与右侧数之和(5 + 6 = 11)相等。
同时, 3 也是第一个符合要求的中心索引。

範例2:

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

說明:

nums 的長度範圍為[0, 10000]。

任何一個 nums[i] 將會是一個範圍在 [-1000, 1000]的整數。

解決想法:

利用sum、leftSum, rightSum分別存放總和,i左側和,i右側和,先算出一個總sum來是為了下面計算方便,然後移動一個從左到右的i,注意i在第一個元素時需要單獨考慮。分別算出i左邊還有右邊的值然後比對,如果leftSum=rightSum,就回傳i。

java程式碼:

class Solution {
    public int pivotIndex(int[] nums) {
        if (nums == null || nums.length == 0) {
            return -1;
        }
 
        int sum = 0;
        int leftSum = 0;
        int rightSum = 0;
 
        for (int i = 0; i < nums.length; i++) {
            sum += nums[i];
        }
 
        for (int i = 0; i < nums.length; i++) {
            if (i == 0) {
                leftSum = 0;
            } else {
                leftSum += nums[i - 1];
            }
            rightSum = sum - leftSum - nums[i];
 
            if (leftSum == rightSum) {
                return i;
            }
        }
 
        return -1;
    }
}

推薦教學:java入門

#

以上是java實作尋找數組中心索引的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。