LeetCode75——Day19

2023-10-29 08:44
文章标签 day19 leetcode75

本文主要是介绍LeetCode75——Day19,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、题目
    • 二、题解

一、题目

724. Find Pivot Index

Given an array of integers nums, calculate the pivot index of this array.

The pivot index is the index where the sum of all the numbers strictly to the left of the index is equal to the sum of all the numbers strictly to the index’s right.

If the index is on the left edge of the array, then the left sum is 0 because there are no elements to the left. This also applies to the right edge of the array.

Return the leftmost pivot index. If no such index exists, return -1.

Example 1:

Input: nums = [1,7,3,6,5,6]
Output: 3
Explanation:
The pivot index is 3.
Left sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11
Right sum = nums[4] + nums[5] = 5 + 6 = 11
Example 2:

Input: nums = [1,2,3]
Output: -1
Explanation:
There is no index that satisfies the conditions in the problem statement.
Example 3:

Input: nums = [2,1,-1]
Output: 0
Explanation:
The pivot index is 0.
Left sum = 0 (no elements to the left of index 0)
Right sum = nums[1] + nums[2] = 1 + -1 = 0

Constraints:

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

二、题解

利用前缀和的思想做题

class Solution {
public:int pivotIndex(vector<int>& nums) {int n = nums.size();vector<int> prefixSum(n+1,0);for(int i = 1;i <= n;i++){prefixSum[i] = prefixSum[i-1] + nums[i-1];}for(int i = 0;i < n;i++){int left = prefixSum[i];int right = prefixSum[n] - prefixSum[i + 1];if(left == right) return i;}return -1;}
};

这篇关于LeetCode75——Day19的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/299544

相关文章

Leetcode Day19 技巧类

75 颜色分类 136 一个数字出现一次, 其他出现两次 class Solution:def singleNumber(self, nums: List[int]) -> int:return reduce(lambda x, y: x ^ y, nums) 这个解法基于以下异或运算的性质: 任何数与 0 异或得到的结果是其本身:a ^ 0 = a 任何数与其自身异或得到的结果是 0:

Lesson_for_java_day19--java的多线程(多线程概念、单例设计模式、死锁)

一、多线程 /*线程由两种实现方式:第一种方式:class MyThread extends Thread{public void run(){需要进行执行的代码,如循环。}}public class TestThread{public static void main(String[] args){Thread t1=new Mythread();T1.start();}}只有等到所有的

【玩转python】入门篇day19-继承、多态以及单例模式

在Python中,继承和多态是面向对象编程的两个核心概念,它们允许我们创建基于已存在类的更复杂或更具体的类。下面我将详细讲解这两个概念,并提供相应的代码示例。 注意:python中是支持多继承的,我们分别来讲解  单继承 子类可以继承父类的所有属性和方法,同时也可以定义自己的属性和方法,或者覆盖(重写)父类的方法。 示例代码1(没有构造函数的继承) # 没有构造函数的继承# 父类cl

游戏心理学Day19

玩家类型 玩家类型学的优势在于让设计师利用类型学原理,分析玩家心理,进而设计出相应的游戏和玩法。不过这类定制化选项还不少,不只是因为他们需要复杂的编程技术,还因为他们要求设计师详细描述极具弹性的玩家个性模型。这一模型不但包括基本的玩家类型还包括其中大量的微妙差距。因此正如查德·巴图所言,这两种分类的关键并不在于列出玩家的心理和在于良好的理论基础。 玩家的4种分类 杀手型玩家的主要目的是对

小熊家务帮day19-day21 订单模块2(取消订单,退款功能等)

目录 1 订单退款功能1.1 需求分析1.2 接口分析1.3 退款流程分析1.4 表结构设计1.5 取消未支付订单实现1.5.1 接口开发Controller层开发Service层开发 1.5.2 接口测试 1.5 取消已支付订单实现 1 订单退款功能 1.1 需求分析 用户下单成功可以取消订单,在订单的不同状态下去取消订单其执行的逻辑是不同的: 待支付状态下取消订单: 更

每日5题Day19 - LeetCode 91 - 95

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前! 第一题:91. 解码方法 - 力扣(LeetCode) class Solution {public int numDecodings(String s) {int n = s.length();//注意我们dp的范围是n+1int[] dp = new int[n + 1];//初始条件,为什么是dp[0] = 1,因为我们转移方

python 学习 羊车门问题 DAY19

(一) import random counts = 10000 sum_y1 = 0 sum_y2 = 0 ls1 = ["羊1","羊2","车"] ls2 = ["羊","车"] for i in range(counts): #第一种     pc = random.choice(ls1)     cc = random.choice(ls1)     if pc == cc:

【前端每日基础】day19——回调函数

回调函数 回调函数是一种常见的编程概念,它是指在函数执行完毕后,将另一个函数作为参数传递给它,以便在特定条件满足时调用这个函数。回调函数通常用于处理异步操作、事件处理、定时器等场景,以实现非阻塞式的程序设计。 特点和用途 异步操作处理:回调函数常用于处理异步操作的结果。例如,在网络请求完成后,可以调用回调函数来处理返回的数据。 事件处理:在事件驱动的编程模型中,回调函数用于处理事件的触发。例

C++笔试强训day19

目录 1.小易的升级之路 2.礼物的最大价值 3.对称之美 1.小易的升级之路 链接 模拟就行,唯一可能是难点得就是gcd(最大公约数) #include <iostream>using namespace std;#define int long longconst int N = 1e5 + 10;int arr[N];int gcd(int a, in

【leetcode75】Intersection of Two Arrays(数组的交集)

题目描述: 给定两个数组求他们的公共部分,输出形式是数组,相同的元素只是输出一次 例如: nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2]. 原文描述: Given two arrays, write a function to compute their intersection. Example: Given nums1 = [1,