每日算法刷题Day1 5.9:leetcode数组3道题,用时1h

news2025/5/14 21:12:40
1.LC寻找数组的中心索引(简单)

数组和字符串 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台

思想:

计算总和和左侧和,要让左侧和等于右侧和,即左侧和=总和-左侧和-当前数字

代码

c++代码:

class Solution {
public:
    int pivotIndex(vector<int>& nums) {
        int sum=0,leftSum=0;
        for(auto x:nums)    sum+=x;
        for(int i=0;i<nums.size();i++){
            if(leftSum*2+nums[i]==sum)  return i;
            leftSum+=nums[i];
        }
        return -1;
    }
};

python代码:

class Solution:
    def pivotIndex(self, nums: List[int]) -> int:
        totalSum=sum(nums) #sum是内置函数
        leftSum=0
        for i in range(len(nums)):
            if leftSum*2+nums[i]==totalSum:
                return i
            leftSum+=nums[i]
        return -1

sum是内置函数,用于对可迭代对象中所有元素求和,比如 listtupleset

相似题

1991. 找到数组的中间位置 - 力扣(LeetCode)
724. 寻找数组的中心下标 - 力扣(LeetCode)

2.LC 搜索插入位置(简单)

数组和字符串 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台
35. 搜索插入位置 - 力扣(LeetCode)

思路

二分搜索,res初始值为n(找不到插最后面)

代码

c++

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int n=nums.size();
        int left=0,right=n-1,res=n;
        while(left<=right){
            int mid=left+((right-left)>>1);
            if(nums[mid]==target)   return mid;
            else if(nums[mid]<target){
                left=mid+1;
            }
            else{
                right=mid-1;
                res=mid;
            }
        }
        return res;
    }
};

python:

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        n = len(nums)
        left, right, res = 0, n - 1, n
        while left <= right:
            mid = left + ((right - left) >> 1)
            if nums[mid] == target:
                return mid
            elif nums[mid] > target:
                right = mid - 1
                res = mid
            else:
                left = mid + 1
        return res
3.LC 合并区间(中等,学习)

56. 合并区间 - 力扣(LeetCode)

思想:

先按照区间的左端点排序,使得合并区间一定是连续的
然后再定义一个二维数组res储存结果,若res数组为空,则放入元素,若待放入元素左端点大于res数组最后一个元组右端点,则放入数组,否则出现重叠,更新res数组最后一个元素右端点

代码

c++:

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        if (intervals.size() == 0)
            return {};
        sort(intervals.begin(), intervals.end());
        vector<vector<int>> res;
        for (int i = 0; i < intervals.size(); ++i) {
            int left = intervals[i][0], right = intervals[i][1];
            if (!res.size() || res.back()[1] < left)
                res.push_back({left, right});
            else
                res.back()[1] = max(res.back()[1], right);
        }
        return res;
    }
};

python:

class Solution:
    def merge(self, intervals: List[List[int]]) -> List[List[int]]:
        intervals.sort(key=lambda x: x[0])
        res = []
        for interval in intervals:
            left,right=interval[0],interval[1]
            if not res or res[-1][1]<left:
                res.append(interval)
            else:
                res[-1][1]=max(res[-1][1],right)
        return res

1..sort(key=)方法,key传入一个函数参数
2.lambda x: x[0]匿名函数,传入x,返回x[0]
3.-1为List最后一个元素索引
4.判断res无元素:not res
5.List的append方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2375628.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PVE WIN10直通无线网卡蓝牙

在 Proxmox VE (PVE) 中直通 Intel AC3165 无线网卡的 **蓝牙模块**&#xff08;通常属于 USB 设备&#xff0c;而非 PCIe 设备&#xff09;需要特殊处理&#xff0c;因为它的蓝牙部分通常通过 USB 连接&#xff0c;而 Wi-Fi 部分才是 PCIe 设备。以下是详细步骤&#xff1a; …

第六节第二部分:抽象类的应用-模板方法设计模式

模板方法设计模式的写法 建议使用final关键字修饰模板方法 总结 代码&#xff1a; People(父类抽象类) package com.Abstract3; public abstract class People {/*设计模板方法设计模式* 1.定义一个模板方法出来*/public final void write(){System.out.println("\t\t\t…

在另一个省发布抖音作品,IP属地会随之变化吗?

你是否曾有过这样的疑惑&#xff1a;出差旅游时在外地发布了一条抖音视频&#xff0c;评论区突然冒出“IP怎么显示xx省了&#xff1f;”的提问&#xff1f;随着各大社交平台上线“IP属地”功能&#xff0c;用户的地理位置标识成为公开信息&#xff0c;而属地显示的“灵敏性”也…

卷积神经网络-从零开始构建一个卷积神经网络

目录 一、什么是卷积神经网络CNN 1.1、核心概念 1.2、卷积层 二、什么是卷积计算 2.1、卷积计算的例子: 2.2、点积 2.3、卷积与点积的关系 2.4、Padding(填充) 2.4.1、Padding的主要作用 1、控制输出特征图尺寸 2、保留边缘信息 3. 支持深层网络训练 2.4.2、Str…

uniapp-文件查找失败:‘@dcloudio/uni-ui/lib/uni-icons/uni-icons.vue‘

uniapp-文件查找失败&#xff1a;‘dcloudio/uni-ui/lib/uni-icons/uni-icons.vue’ 今天在HBuilderX中使用uniapp开发微信小程序时遇到了这个问题&#xff0c;就是找不到uni-ui组件 当时创建项目&#xff0c;选择了一个中间带的底部带选项卡模板&#xff0c;并没有选择内置u…

Vue2.x 和 Vue3.x 对比-差异

Vue3的优点 diff算法的提升 vue2中的虚拟DOM是全量的对比&#xff0c;也就是不管是写死的还是动态节点都会一层层比较&#xff0c;浪费时间在静态节点上。 vue3新增静态标记&#xff08;patchflag &#xff09;&#xff0c;与之前虚拟节点对比&#xff0c;只对比带有patch fla…

MacOS 用brew 安装、配置、启动Redis

MacOS 用brew 安装、配置、启动Redis 一、安装 brew install redis 二、启动 brew services start redis 三、用命令行检测 set name tom get name

agentmain对业务的影响

前面一篇已经说了java agent技术主要有premain和agentmain两种形式&#xff0c;如果大部分业务已经在线上运行的话&#xff0c;不方便用premain的方式来实现&#xff0c;所以agentmain的方式是更加通用、灵活的 由于RASP是与用户业务运行在同一个jvm中的 &#xff0c;所以RASP…

uniapp小程序轮播图高度自适应优化详解

在微信小程序开发过程中&#xff0c;轮播图组件(swiper)是常用的UI元素&#xff0c;但在实际应用中经常遇到高度不匹配导致的空白问题。本文详细记录了一次轮播图高度优化的完整过程&#xff0c;特别是针对固定宽高比图片的精确适配方案。 问题背景 在开发"零工市场&quo…

基于ESP32控制的机器人摄像头车

DIY Wi-Fi 控制的机器人摄像头车&#xff1a;从零开始的智能探索之旅 在当今科技飞速发展的时代&#xff0c;机器人技术已经逐渐走进了我们的生活。今天&#xff0c;我将带你一起探索如何制作一个 Wi-Fi 控制的机器人摄像头车&#xff0c;它不仅可以远程操控&#xff0c;还能通…

基于STM32的LCD信号波形和FFT频谱显示

一、项目准备 主要利用LCD驱动中的画点和画连线函数&#xff0c;驱动是正点原子给我写好了的画点和画线的函数等些相关函数 void LCD_Draw_Circle(u16 x0,u16 y0,u8 r); //画圆 void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2); //画线 二、画波形图函数实…

(9)被宏 QT_DEPRECATED_VERSION_X_6_0(“提示内容“) 修饰的函数,在 Qt6 中使用时,会被编译器提示该函数已过时

&#xff08;1&#xff09;起因是看到 Qt 的官方源代码里有这样的写法&#xff1a; #if QT_DEPRECATED_SINCE(6, 0) //里面的都是废弃的成员函数QT_WARNING_PUSHQT_WARNING_DISABLE_DEPRECATEDQT_DEPRECATED_VERSION_X_6_0("Use the constructor taking a QMetaType inst…

关于mac配置hdc(鸿蒙)

关于mac配置hdc(鸿蒙) 在最开始配置的hdc -v时候老是出现格式不匹配 于是乎在网上找官网也不行&#xff0c;最后在csdn上找到了这篇文章Mac配置hdc才有的头绪 环境变量的问题 自己做一个简单的总结 首先在访达里面打开ide 打开之后输入下面的命令&#xff0c;一步一步的找…

是 OpenCV 的 CUDA 模块中用于在 GPU 上对图像或矩阵进行转置操作函数cv::cuda::transpose

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::cuda::transpose 是 OpenCV 的 CUDA 模块中的一个函数&#xff0c;用于在 GPU 上对图像或矩阵进行转置操作&#xff08;Transpose&#xff0…

PPT图表怎么制作?说5款自己使用过的PPT图表制作工具

PPT图表怎么制作&#xff1f;准备一份吸引人的PPT演示文稿时&#xff0c;图表往往能起到画龙点睛的作用。但是&#xff0c;对于很多人来说&#xff0c;制作既美观又专业的图表却不是一件容易的事情。今天&#xff0c;我们就来聊聊如何利用一些优秀的工具制作PPT图表。 1、亿图图…

[传输层]TCP协议

文章目录 报文格式连接管理可靠传输 面向连接的传输层协议 每一条TCP连接只能有两个端点&#xff0c;每一条TCP连接只能是点对点的 TCP提供可靠有序&#xff0c;不丢不重 TCP是面向字节流的 TCP工作模型&#xff1a; 发送方有一个缓存&#xff0c;缓存&#xff1a; 1.待发送 2…

Linux(1)编译链接和gcc

1、gcc分布编译链接 &#xff08;1&#xff09;预编译 gcc -E main.c -o main.i &#xff08;2&#xff09;编译 gcc -S main.i -o main.s &#xff08;3&#xff09;汇编 gcc -c main.s -o main.o &#xff08;4&#xff09;链接 gcc main.o -o main 执行&#xff1a…

【Java ee初阶】网络编程 UDP socket

网络编程 socket api 是传输层提供的api。 UDP 无连接&#xff0c;不可靠传输&#xff0c;面向数据报&#xff0c;全双工。 TCP 有链接&#xff0c;可靠传输&#xff0c;面向字节流&#xff0c;全双工。 UDP socket api 数据报 DatagrammSocket 代表了操作系统中的socket文…

旅游推荐数据分析可视化系统算法

旅游推荐数据分析可视化系统算法 本文档详细介绍了旅游推荐数据分析可视化系统中使用的各种算法&#xff0c;包括推荐算法、数据分析算法和可视化算法。 目录 推荐算法 基于用户的协同过滤推荐基于浏览历史的推荐主题推荐算法 亲子游推荐算法文化游推荐算法自然风光推荐算法…

c语言第一个小游戏:贪吃蛇小游戏08(贪吃蛇完结)

贪吃蛇撞墙和想不开咬死自己 #include <curses.h> #include <stdlib.h> struct snake{ int hang; int lie; struct snake *next; }; struct snake food; struct snake *head; struct snake *tail; int key; int dir; #define UP 1 #define DOWN -1 …