leetcode之两、三、四、最近接之和题目

【5分钟力扣】01. 用python3实现两数之和 阅读详情

1. 两数之和

class Solution(object):
    def twoSum(self, nums, target):
        d = {}
        for i in range(len(nums)):
            diff = target - nums[i]
            if diff in d:
                return [i, d[diff]]
            d[nums[i]] = i
        
        return [-1, -1]

15. 三数之和

class Solution(object):
    def threeSum(self, nums):

        nums.sort()
        res = []
        for i in range(len(nums)):
            if i >0 and nums[i] == nums[i-1]: continue
            m, n = i+1, len(nums)-1
            while m <n:
                cur_sum = nums[i] + nums[m] + nums[n]
                if cur_sum > 0: 
                    n -= 1
                elif cur_sum<0:
                    m += 1
                else:
                    res.append([nums[i], nums[m], nums[n]])
                    m += 1
                    n -= 1
                    while m<n and nums[n] == nums[n+1]:
                        n -= 1
                    while m<n and nums[m-1] == nums[m]:
                        m += 1
        
        return res

16. 最接近的三数之和

class Solution(object):
    def threeSumClosest(self, nums, target):
        nums.sort()
        res = -1000000

        res = nums[0] + nums[1] + nums[2]
    
        for i in range(len(nums)):
            j, k = i+1, len(nums)-1
            while j<k:
                cur_sum = nums[i] + nums[j] + nums[k]
                if abs(cur_sum-target) < abs(res - target):
                    res = cur_sum
                if cur_sum == target:
                    return target
                if cur_sum> target:
                   k = k-1
                else:
                    j = j+1
        return res

454. 四数相加 II

from collections import Counter
class Solution(object):
    def fourSumCount(self, nums1, nums2, nums3, nums4):
        res = 0
        addCount = Counter(u+v for u in nums3 for v in nums4)
        for a in nums1:
            for b in nums2:
                res += addCount[-a-b]
        return res

18. 四数之和

class Solution(object):
    def fourSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[List[int]]
        """
        nums.sort()
        res = []
        for i in range(len(nums)):
            if i>0 and  nums[i-1] == nums[i]: continue
            for j in range(i+1, len(nums)):
                if j>i+1 and  nums[j-1] == nums[j]: continue
                m, n = j+1, len(nums)-1
                while m < n:
                    cur_sum = nums[i] + nums[j] + nums[m] + nums[n]
                    if cur_sum > target:
                        n -= 1
                    elif cur_sum < target:
                        m += 1
                    else:
                        res.append([nums[i],nums[j],nums[m],nums[n]])
                        m += 1
                        n -= 1
                        while m<n and nums[n] == nums[n+1]:
                            n -= 1
                        while m<n and nums[m] == nums[m-1]:
                            m += 1
        return res
科研党必备:5分钟搞定Arxiv论文批量导入NoteExpress(附PDF自动下载技巧) 本文为科研人员提供了一套高效的自动化工作流,实现从Arxiv批量检索论文、自动下载PDF到无缝导入NoteExpress的全过程。通过Python脚本和NASA ADS等工具,可大幅提升文献管理效率,特别适合需要追踪前沿动态的研究生和科研团队。 阅读详情

相关推荐

PostgreSQL+PostGIS空间数据入库实战:从矢量栅格到GeoServer发布全流程

本文详细介绍了将矢量与栅格空间数据导入PostgreSQL并利用PostGIS扩展进行管理的完整流程。内容涵盖环境搭建、使用shp2pgsql和raster2pgsql工具进行数据入库、基础空间查询验证,以及最终通过GeoServer发布为地图服务的实战步骤,为构建空间数据平台提供清晰指引。

weixin_29268267的博客 289

力扣leetcode题目分析——两数之和

说明 同学跟我说要多在力扣上面刷题,这样才能越来越厉害,据说有些大牛之所以为大牛,就是因为在上面刷了一两年。哈哈哈,开个玩笑。不过如果坚持做下去,应该收获很大吧。像我这种学渣,只能从最简单的开始,接受大家的鄙视。 鸡汤 下面最近很喜欢一句话,决定每天晚上睡觉前念一遍,写个毒鸡汤,大家共勉吧。 我已经拥有的,都是我努力得到的 题目 ...

hansmu的博客 526

OpenHarmony + AI:深度解析 Whisper.cpp 智慧语音系统级移植与 NAPI 封装实战

【代码】OpenHarmony + AI:深度解析 Whisper.cpp 智慧语音系统级移植与 NAPI 封装实战。

m0_67505153的博客 187

【力扣】1、两数之和

系列文章目录 【力扣】1、两数之和 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分

一个卑微的java开发 1549

YOLOv12创新改进 | 全网独家创新篇、小目标检测改进 | AAAI 2025 | 引入HS-FPN中的HFP和SDP创新点,从频域增强小目标特征,淘汰FPN进行升级,助力YOLOv12有效涨点

本文提出了HS-FPN(高频和空间感知特征金字塔网络),通过HFP(高频感知)模块增强小目标特征,SDP(空间依赖感知)模块捕获像素间空间依赖关系。实验在AI-TOD等小目标数据集上验证了该方法的有效性,相比FPN显著提升检测性能。文章详细介绍了HS-FPN的网络结构、核心代码实现及在YOLOv12中的应用方法,并提供多种改进版本的yaml配置文件,为小目标检测任务提供了有效的解决方案。

Ai缝合怪、助力小伙伴高效发论文 336

YOLOv11 改进 - 注意力机制 | LS-YOLO MSFE 多尺度特征提取模块:并行分支结构增强多尺度感知,优化遥感与小目标检测

本文介绍了一种用于滑坡检测的模型LS-YOLO及其在YOLOv11中的结合应用。LS-YOLO首先构建多尺度滑坡数据集MSLD,为模型训练提供丰富数据。设计了基于高效通道注意力、平均池化和空间可分离卷积的多尺度特征提取模块MSFE,充分提取滑坡特征信息。在解耦头中采用膨胀卷积增加模型感受野。我们将MSFE模块集成进YOLOv11,替换部分原有模块。实验表明,改进后的YOLOv11在数据集中表现出色 。

魔改工程师的博客 870

力扣——接雨水

height[left]或height[right]利用栈,放入索引,因为和元素的位置也有关系,所以放入索引而不是值。这里既用双指针更新最大值,也指代当前位置,利用动态规划分别找到每一个位置处的。只用一次,用数组存储浪费空间。,得到当前值对应的左右最大值。,分别从0和n-1向内滑动。可以用双指针得到每个。

weixin_49332521的博客 1238

全志T527 适配双目tp2815_mipi

在全志T527 linux下适配双目TP2815 mipi摄像头,支持六路同时输出,四路可用作360环视、一路face id等,一路用于其它开发。

Linux驱动开发工程师,熟悉Linux/Android底层驱动、TP、显示、IIC、网络等通用外设调试适配,Linux上层应用开发。常用平台瑞芯微、全志、恩智浦等。 3811

leetcode 二叉树的最近公共祖先(Java)

Leetcode汇总贴: leetcode经典编程题目(Java实现) leetcode题目 二叉树的最近公共祖先 -- leetcode 236 题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己...

聚沙成塔 7392

2020年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第3题)

2020年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第3题)

王老师青少年编程 988

[Python图像处理] 十.形态学之图像顶帽运算和黑帽运算

数学形态学(Mathematical morphology)是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:腐蚀和膨胀、开运算和闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换等。本篇文章主要讲解Python调用OpenCV实现图像形态学转化,包括图像顶帽运算和图像黑帽运算,基础性知识希望对您有所帮助。

杨秀璋的专栏 1万+

leetCode:最近接的三数之和

leetCode:最近接的三数之和 题目: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和 。假定每组输入只存在唯一答案。 示例: 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。 提示: 3 <= nums.length <= 10^3 -10^3 <= nums[i] &

qq_43852319的博客 164

Vue3 - Arco Design Vue 表格组件 table 隐藏鼠标移入时 hover 高亮背景色,el-table 组件去除鼠标悬停在表格行的 hover 高亮效果(改变鼠标移入时的背景色)

vue3,arcodesignvue,arcodesign,表格,a-table,hover,表格hover的class类名是什么,class,hover,在arcodesignvue项目中,表格组件如何去掉鼠标移入时的hover效果,vue3arco.design表格组件修改鼠标移入行的背景颜色,table表格,取消表格行row移入高亮效果,去掉鼠标移入行时的hover效果,取消a-table的hover状态,取消高亮显示,隐藏表格鼠标hover效果,去除鼠标触摸变色效果,如何取消arco表

🏆 前端领域优质创作者 3768

两数之和 三数之和 四数之和一网打尽

目录 两数之和: ????思考方式: 两数之和II ????解题图示: 三数之和: 最近的三数之和: 四数之和: 两数之和: 对应letecode链接: https://leetcode-cn.com/problems/two-sum/ 题目描述: 给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

qq_56999918的博客 1424

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

236. 二叉树的最近公共祖先【 力扣(LeetCode) 】

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。

yyh520025的博客 862

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LeetCode 681. 最近时刻

文章目录1. 题目2. 解题 1. 题目 给定一个形如 “HH:MM” 表示的时刻,利用当前出现过的数字构造下一个距离当前时间最近的时刻。每个出现数字都可以被无限次使用。 你可以认为给定的字符串一定是合法的。 例如,“01:34” 和 “12:09” 是合法的,“1:34” 和 “12:9” 是不合法的。 样例 1: 输入: "19:34" 输出: "19:39" 解释: 利用数字 1, 9, 3, 4 构造出来的最近时刻是 19:39,是 5 分钟之后。 结果不是 19:33 因为这个时刻是 23 小时

Michael是个半路程序员 7835

力扣最热一百题——6.三数之和

力扣最热一百题——三数之和,新手也能学会!!!

WenJGo的博客 1171

【LeetCode-18】四数之和

LeetCode-18】四数之和,本文将详细讲解如何解决经典的“四数之和”问题。我们会从问题的背景出发,逐步分析解题思路,并通过清晰的案例执行过程展示每一步的逻辑推导。同时,我们还会提供完整的Java代码实现,并对代码进行详细的注释说明。

qq_44530108的博客 1064

瑞_力扣LeetCode_二叉搜索树相关题

本文章为瑞_系列专栏之《刷题》的力扣LeetCode系列,主要以力扣LeetCode网的题进行解析与分享.本文主要是配合《瑞_数据结构与算法_二叉搜索树》对二叉搜索树的知识进行提升和拓展

阿瑞——从事Java后端,喜欢研读源码、自研框架、分享经验 1242

力扣labuladong一刷day39天最近公共祖先问题

思路:本题是一个变种,即p和q都在树里才返回公共祖先,p和q只有一个在树里的返回null,也就是p和q不一定在树里,这个时候就不能在前序遍历的位置返回,这样就不会去遍历子树,无法确保另一个也在,现在就必须得每个节点都遍历,在后序的位置判断返回,并且设置全局变量。思路:对于二叉搜索树寻找最近公共祖先要利用二叉搜索树的特性,如果有公共祖先的话,最近的一定是min <= node.val <= max的,不在范围内,大于最大值去left寻找,小于最小值去right寻找,剩下的即为答案,直接返回。

qq_43511039的博客 625

leetcode | 数组 | 两数之和 | 三数之和 | 最近的三数之和 | 四数之和

1. 两数之和 暴力解法 class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in range(len(nums)): for j in range(i+1,len(nums)): if nums...

暴走的二萌 214

力扣 (LeetCode) LeetCode HOT 100

LeetCode-HOT-100力扣 (LeetCode) ????LeetCode 热题 HOT 100 ⚡ ???? 如果你有问题https://webvueblog.github.io/LeetCode-HOT-100/1. 两数之和2. 两数相加3. 无重复字符的最长子串4. 寻找两个正序数组的中位数5. 最长回文子串10. 正则表达式匹配11. 盛最多水的容器15. 三数之和17. 电话号码的字母...

程序员哆啦A梦,蓝胖子 2511

LeetCode-16 最近的三数之和

class Solution { public: int threeSumClosest(vector<int>& nums, int target) { //也是用了一些先排序然后进行计算 sort(nums.begin(), nums.end()); int len = nums.size(); int zhongjian = 1e9; int resul...

zhaohoutao的博客 169

【LeetCode】最近公共祖先问题

二叉树中寻找一个元素 先不管最近公共祖先问题,我请你实现一个简单的算法: 给你输入一棵没有重复元素的二叉树根节点root和一个目标值val,请你写一个函数寻找树中值为val的节点。 函数签名如下: TreeNode find(TreeNode root, int val); 这个函数应该很容易实现对吧,可以用下面的代码进行实现: // 定义:在以 root 为根的二叉树中寻找值为 val 的节点 TreeNode find(TreeNode root, int val) { // base cas

Hanrui的博客 1023

LeetCode236-二叉树的最近公共祖先

题目描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] 示例 1: 输入: root = [3,...

weixin_45138411的博客 260

力扣题目 - 1847.最近的房间

还需要你前往力扣官网查看详细的题目要求。

qq_45797421的博客 657

【关于为什么要刷力扣的思考】记第二次周赛AK

前言 从上次AK周赛的一月底,磕磕绊绊到五月初,总共经历了20多场的周赛 在这20场周赛中,四题:三题:两题:一题 = 2:12:8:1 总体来说应该还是在两到三题中间徘徊 但很多时候做出的两题,并非因为第三题完全不会做 有很多情况第三题都已经完成了9成,就差最后的1成不能优化或修改出来 总的来说,这几个月的练习和周赛,对我的整个视野和py功力还是有显著的提升的。 关于最近的两次周赛 77场双周赛 很遗憾的是 虽然15mins就想到了第三题的解法 但是由于模拟细节的原因 第三题一直罚站 直到结束 直接掉大分

小楼一夜听春雨 2072
上一篇: leetcode-合并有序数组、链表系列题目解法总结
下一篇: leetcode-旋转数组相关题目解答
github_元宝
博客等级 码龄9年 1粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值