
文章目錄
- ?? 前言 ??
- 🙀 作者簡介 🙀
- 💗 一、題目描述 💗
- 💁 二、題目決議 💁
- 🏃 三、代碼 🏃
- ?? 1??. python ??
- ?? 2??. C# ??
- 🌔 結語 🌔
- 投票
?? 前言 ??
演算法作為極其重要的一點,是大學生畢業找作業的核心競爭力,所以為了不落后與人,開始刷力扣演算法題!
第一遍,不求最優解,但求能過!!!
🙀 作者簡介 🙀
大家好,我是布小禪,一個盡力讓無情的代碼變得生動有趣的IT小白,很高興能偶認識你,關注我,每天堅持學點東西,我們以后就是大佬啦!
📢 博客主頁:?布小禪?
📢 作者專欄:
?Python?
?Java??力扣題?
這是我刷第 25/100 道力扣簡單題
💗 一、題目描述 💗
題目描述
\color{red}{}
給你一個整數陣列 nums ,請計算陣列的 中心下標 ,
陣列 中心下標 是陣列的一個下標,其左側所有元素相加的和等于右側所有元素相加的和,
如果中心下標位于陣列最左端,那么左側數之和視為 0 ,因為在下標的左側不存在元素,這一點對于中心下標位于陣列最右端同樣適用,
如果陣列有多個中心下標,應該回傳 最靠近左邊 的那一個,如果陣列不存在中心下標,回傳 -1 ,
示例 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 ,
作者:力扣 (LeetCode)
鏈接:https://leetcode-cn.com/leetbook/read/array-and-string/yf47s/
來源:力扣(LeetCode)
著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明出處,
💁 二、題目決議 💁
不要被題目迷惑
先把整個陣列的和求出來
遍歷陣列,求和
然后觀察整個陣列的和與所求和的關系
觀察發現 所求和的二倍=總和與當前元素的和
所以判斷條件有了
開始程式
🏃 三、代碼 🏃
?? 1??. python ??
class Solution:
def pivotIndex(self, nums: List[int]) -> int:
_sum = sum(nums) # 計算陣列總和
sum1 = 0 # 初始化左側和
for i in range(len(nums)): # 開始回圈
sum1+=nums[i] # 求左側和
if sum1*2==_sum+nums[i]: return i # 判斷
return -1 # 如果回圈完,則說明不存在中心節點
?? 2??. C# ??
public class Solution {
public int sum(int[] arr){
// 求和函式
int sum = 0;
foreach (int x in arr)
{
sum+=x;
}
return sum;
}
public int PivotIndex(int[] nums) {
int _sum = sum(nums); // 計算陣列總和
int sum1 = 0; // 初始化左側和
for (int i=0;i<nums.Length;i++) // 開始回圈
{
sum1+=nums[i]; // 求左側和
if (sum1*2==_sum+nums[i]) return i; // 判斷
}
return -1; // 如果回圈完,則說明不存在中心節點
}
}
🌔 結語 🌔
堅持最重要,每日一題必不可少!😸
期待你的關注和督促!😛

投票
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/295416.html
標籤:python
上一篇:學習編程時候太枯燥?難道你不知道可以邊玩游戲變學習編程么
下一篇:Python基礎教程和入門教程
