LeetCode水题 - No.214,225,226,227,229,236,240,241

力扣题目的参数解释(力扣初用者必看指南) 力扣题目的参数解释(力扣初用者必看指南),将参加的力扣参数详细解释,用题目来讲,有给出模仿的main函数供大家自己调试,本文的所有代码均经过调试,可以放心使用,准备开始刷力扣的同学,或者对力扣参数还不太了解的同学,那么本文你一定不能错过。 阅读详情

No.229

/*
 * @lc app=leetcode id=122 lang=cpp
 *
 * [122] Best Time to Buy and Sell Stock II
 */

// @lc code=start
class Solution {
public:
    // 取每个上坡差就可以了?
    int maxProfit(vector<int>& prices) {
        int N = prices.size();
        int ans = 0;
        for(int i=1;i<N;i++){
            ans += max(0,prices[i] - prices[i-1]);
        }
        return ans;
    }
};
// @lc code=end

No.227

/*
 * @lc app=leetcode id=120 lang=cpp
 *
 * [120] Triangle
 */

// @lc code=start
class Solution {
public:
    int minimumTotal(vector<vector<int>>& triangle) {
        int N = triangle.size();
        if(N==0) return 0;
        int ans = 0x3fffffff;
        for(int i=1;i<N;i++){
            triangle[i][0] += triangle[i-1][0];
            for(int j=1;j<i;j++){
                triangle[i][j] += min(triangle[i-1][j-1],triangle[i-1][j]);
            }
            triangle[i][i] += triangle[i-1][i-1];
        }
        for(int i=0;i<N;i++){
            ans = min(triangle[N-1][i],ans);
        }
        return ans;
    }
};
// @lc code=end

No.226

/*
 * @lc app=leetcode id=119 lang=cpp
 *
 * [119] Pascal's Triangle II
 */

// @lc code=start
class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int> ans(rowIndex+1,0);
        ans[0] = 1;
        // 层
        for(int i=1;i<=rowIndex;i++){
            for(int j=i;j>0;j--){
                ans[j] = ans[j] + ans[j-1];
            }
        }
        return ans;
    }
};
// @lc code=end

No.225

/*
 * @lc app=leetcode id=118 lang=cpp
 *
 * [118] Pascal's Triangle
 */

// @lc code=start
class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> ans;
        if(numRows == 0) return ans;

        ans.push_back(vector<int>(1,1));
        for(int i=1;i<numRows;i++){
            int L = ans.back().size();
            vector<int> t(L+1,0);
            t[0] = t.back() = 1;
            for(int i=1;i<L;i++){
                t[i] = ans.back()[i-1] + ans.back()[i];
            }
            ans.push_back(t);
        }
        return ans;
    }
};
// @lc code=end

No.214

/*
 * @lc app=leetcode id=66 lang=cpp
 *
 * [66] Plus One
 */

// @lc code=start
class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        vector<int> ans;
        int N = digits.size();
        int mv = 1;
        int t;
        for(int i=N-1;i>=0;i--){
            t = digits[i] + mv;
            if(t > 9){
                ans.push_back(t - );
                mv = 1;
            }else{
                ans.push_back(t);
                mv = 0;
            }
        }
        if(mv > 0 ) ans.push_back(mv);
        return {ans.rbegin(),ans.rend()};
    }
};
// @lc code=end

No.236

/*
 * @lc app=leetcode id=169 lang=cpp
 *
 * [169] Majority Element
 */

// @lc code=start
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        unordered_map<int,int> mp;
        int N = nums.size();
        for(int i=0;i<N;i++){
            mp[nums[i]] ++;
            if(mp[nums[i]] > N/2) return nums[i];
        }
        return -1;
    }
};
// @lc code=end

No.240

/*
 * @lc app=leetcode id=217 lang=cpp
 *
 * [217] Contains Duplicate
 */

// @lc code=start
class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        unordered_map<int,bool> mp;
        int N = nums.size();
        for(int i=0;i<N;i++){
            if(mp[nums[i]]) return true;
            mp[nums[i]] = true;
        }
        return false;
    }
};
// @lc code=end

No.241

/*
 * @lc app=leetcode id=219 lang=cpp
 *
 * [219] Contains Duplicate II
 */

// @lc code=start
class Solution {
public:
    bool containsNearbyDuplicate(vector<int>& nums, int k) {
        unordered_map<int,int> mp;
        int N = nums.size();
        int t;
        for(int i=0;i<N;i++){
            t = mp[nums[i]];
            if(t > 0 ){
                if(i - t + 1 <= k) return true;
            }
            mp[nums[i]] = i+1;
        }
        return false;
    }
};
// @lc code=end
从工艺到器件:用Silvaco ATLAS仿真PIN二极管击穿电压的保姆级指南 本文详细介绍了使用Silvaco ATLAS仿真PIN二极管击穿电压的全流程指南,从工艺仿真基础搭建到器件结构构建,再到击穿特性仿真和结果分析。通过Silvaco工具链,工程师可以在设计阶段精准预测器件性能,优化击穿电压,提升研发效率。 阅读详情

相关推荐

修复ASUS in WinRE教程

暑假入手了天选三,发现是win11家庭版,本来想着家庭版将就一下无所谓,结果在使用的过程中发现相较于专业版真的是不能比,于是自己就重装了系统,发现ASUS in WinRE入口不见了,折腾半天最后成功修复。

weixin_46202629的博客 1万+

【LeetCode热题100】No.11——盛最多水的容器

本文讲解 LeetCode 热题 100 中 “盛最多水的容器” 解法,题目需找出数组中两条垂线与 x 轴构成的最大盛水容器并返回水量。暴力解法遍历所有垂线组合,时间复杂度 O (n²),大数据量超时。最优双指针法:左指针在最左、右指针在最右,按 “min (左高,右高)× 宽度” 算盛水量并更新最大值,移动较矮指针(移动高指针水量必减,移动矮指针或遇更高垂线增水量),直至指针相遇。附 Java 代码,用示例验证,时间复杂度 O (n)、空间复杂度 O (1),关键是双指针结合贪心优化效率。

Mr.Ja的博客 1413

Cadence PCB SI仿真实战:如何手动添加VIA过孔模型提升板级链路精度

本文详细介绍了在Cadence PCB SI仿真中如何手动添加VIA过孔模型以提升DDR4/5设计的精度。通过参数化建模和三维全波建模技术,工程师可以有效解决高速设计中的信号完整性问题,显著降低仿真误差。文章还提供了实战案例和常见问题解决方案,帮助优化板级链路性能。

weixin_28683391的博客 407

力扣(LeetCode)刷题,简单+中等题(第35期)

力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。

不脱发的程序猿 3万+

DCA1000EVM数据采集实战:从mmWave Studio配置到MATLAB后处理的全链路解析

本文详细解析了DCA1000EVM数据采集的全流程,从mmWave Studio配置到MATLAB后处理,涵盖数据存储结构解析、后处理引擎剖析及Python数据处理方案。通过实战案例,帮助开发者高效处理毫米波雷达原始数据,实现从数据到应用价值的转化,提升开发效率。

weixin_33743661的博客 708

PLC编程标准之争:IEC61131与IEC61499核心区别与选型指南

在工业自动化领域,PLC编程长期依赖IEC61131标准,它定义了梯形图、结构化文本等语言,通过周期扫描机制保证确定性执行。然而,随着工业4.0和分布式控制场景的兴起,IEC61499以事件驱动模型打破传统范式,让功能块能跨设备协同,实现更灵活的柔性产线和模块化系统。理解两者在程序结构、数据交互、部署方式和实时性上的差异,是选型与工程落地的关键。本文从基础概念出发,剖析执行模型与架构演进,结合一线调试经验,帮助工程师在传统PLC与下一代标准之间做出理性决策。

weixin_27014595的博客 270

你有多久没有坚持过一件事情了?如果没有就来刷一轮力扣LeetCode

选择一样你想做的事情,坚持21天。如果没有想好,那就先来刷一轮力扣吧!~

车手只需要车和手,压力来自轮胎 1360

Arduino与震动马达模块握手

震动马达模块采用采用高品质手机震动马达,适用于震动感互动产品的制作,可穿戴智能设备震动提醒,适合作为非可听指示器的小型振动马达。当输入为高电平时电动机会震动,就像你的静音模式的手机一样。

vor234的博客 5847

leetcode|经典力扣第一题

今天是 Kevin 的算法之路的第 20 天。为大家讲解 LeetCode 第 1 题,是一道简单但相当经典的题目。 每日一笑 玩游戏第一次坑朋友:对不起我不是故意的。 第二次坑朋友:emmm 第三次坑朋友:嘿嘿嘿 第四次坑朋友:你怎么那么坑? 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11,

qq_36452584的博客 4394

【ubuntu24.04】auto remove后,重启,kernel panic ,please reboot your computer vfs unable to mount root fs

Ubuntu 24.04系统在运行auto remove后出现内核恐慌(kernel panic)无法启动,显示"VFS: unable to mount root fs"错误。该问题是由于当前内核被清除导致系统无法挂载根分区。解决步骤包括:1)尝试用GRUB菜单中的旧内核启动;2)在GRUB中临时编辑启动参数;3)使用Ubuntu启动盘进行chroot修复;4)使用Boot-Repair工具一键修复。成功启动后,需要重新安装linux-generic等元包,重建initramfs并更新

突围 1210

SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程-第一篇:ADT安装前置准备与环境校验教程

ABAP Development Tools(ADT)安装配置教程摘要 本文是ADT安装系列的第一篇,重点讲解环境准备与版本校验。ADT是基于Eclipse的现代ABAP开发工具,相比传统SAP GUI提供更智能的开发体验。安装前需确认: 推荐使用Eclipse 2026-03 + Java 21组合 操作系统需Windows 10+/macOS 14+ SAP GUI版本要求Windows≥8.00/macOS≥8.10 后端系统需NetWeaver 7.31 SP04+或S/4HANA 通过java -

baidu_35680696的博客 690

Python小白 Leetcode刷题历程 No.11-No.15 盛最多水的容器、整数转罗马字母、罗马数字转整数、最长公共前缀、三数之和 (有题干 有代码 有思路心得)

Python小白 Leetcode刷题历程 No.11-No.15 盛最多水的容器、整数转罗马字母、罗马数字转整数、最长公共前缀、三数之和 写在前面: 作为一个计算机院的大学生,总觉得仅仅在学校粗略的学习计算机专业课是不够的,尤其是假期大量的空档期,作为一个小白,实习也莫得路子,又不想白白耗费时间。于是选择了Leetcode这个平台来刷题库。编程我只学过基础的C语言,现在在自学Pyth...

LanXiu_的博客 846

使用mid360运行lio-livox对比fast-lio2

msg_type为激光雷达发出的数据格式,有livox自定义数据类型格式CustomMsg和ros标准的PointCloud2格式,因此首先需要确定激光雷达端配置的是哪种格式。可以从激光雷达的ros驱动中看到驱动端有三种格式可以选,驱动端的数字2对应lio-livox中的1,驱动端的0对应lio-livox的格式0。如果使用的是Ubuntu18.04编译完成后运行直接成功,如果使用20.04运行会报错,需要修改以下源代码。针对livox-mid360 运行lio-livox的一些问题。

z1872385的博客 1230

力扣热题 100:哈希专题三道题详细解析(JAVA)

今天,我们就来详细解析热题 100 中与哈希相关的三道题,帮助大家更好地理解解题思路和技巧。在实际刷题过程中,建议大家多动手实践,理解解题思路的本质,这样才能更好地应对各种算法问题。这道题是力扣上的经典入门题,主要考察哈希表的应用。我们可以使用哈希表来存储数组中的元素及其下标,然后遍历数组,对于每个元素,检查。我们可以将每个字符串排序后作为哈希表的键,将变位词作为哈希表的值。我们可以使用哈希表来存储数组中的元素及其连续序列的长度。,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。

m0_72686196的博客 1620

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Leetcode No. 11 盛最多水的容器

Leetcode No. 11 盛最多水的容器ProblemSolvingCode(c++) Problem 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 ...

weixin_42975610的博客 320

【leetcode】力扣刷题笔记 持续更新中 (python3 版本)

一起刷编程题啊~~~~~ 冲

哒哒哒哒 哒哒 5372

Leetcode: NO.11 盛最多水的容器 双指针

题目 链接:https://leetcode-cn.com/problems/container-with-most-water 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,...

泛泛之素 430

Leetcode 腾讯50题 day3

Leetcode 腾讯50题 day3 今天因为在做上一期pandas的综合测试题,第三题三数之和还没有写出更好的实现思路,暂时贴了官方题解的答案,主要和大家分享一些利用时间复杂度进行解题的技巧,在No.11盛最多水的容器的题解中分享 No.11 盛最多水的容器 题目描述 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容

qq_32844743的博客 267

【NO.16】LeetCode经典150题-42. 接雨水

接雨水

wang_luwei的博客 1277

【力扣-SQL】非会员剩余题 刷题知识点总结

四舍五入:round(value, n); sum()和count()中使用if判断条件:sum(if(条件,列值,0)) 和 count(if(条件,1,null)) ; 窗口函数rank()、dense_rank() 和 row_number() ; 向上窗口函数lead() 和向下窗口函数lag(); 窗口函数的两个典型应用问题:分组排名;连续出现N次

qq_43629945的博客 606

数据结构之二叉树与堆以及力扣刷题函数扩展

在前面我们学习了关于顺序表,链表,栈,队列的存储方式。今天我将给大家带来关于树的一些内容以及堆的部分内容,详细包括树的定义,树相关的概念,二叉树和满二叉树的概念,树代码的实现会在后面的内容,大堆和小堆的代码实现。今天的内容相较于前面会有一点难以理解,希望大家可以认真学习,当然还有几个力扣刷题的函数扩展,其中的内容就绝对会让你感到其中的乐趣。

Infernal_Puppet的博客 805

力扣(Leetcode)第9题:回文数(C语言版本)

给你一个整数 x ,如果 x 是一个回文整数,返回 true;否则,返回 false。解释:从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。本题主要是判断一个数是否为回文数(相当于正着读和反着读,数值都是一样的)回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解释:从右向左读, 为 01。因此它不是一个回文数。- 1 -----可见在定义整型数时需要。例如,121 是回文,而 123 不是。输入:x = -121。输入:x = 121。

qq_39855356的博客 614

力扣牛客每日刷题(Python解法持续更新)

力扣每日刷题(持续更新) 含python多种解法与测试用例 坚持每日一题,提升算法能力

Weary_PJ的博客 4134

Python小白 Leetcode刷题历程 No.71-No.75 简化路径、编辑距离、矩阵置零、搜索二维矩阵、颜色分类 (有题干 有代码 有思路心得)

Python小白 Leetcode刷题历程 No.71-No.75 简化路径、编辑距离、矩阵置零、搜索二维矩阵、颜色分类 写在前面: 作为一个计算机院的大学生,总觉得仅仅在学校粗略的学习计算机专业课是不够的,尤其是假期大量的空档期,作为一个小白,实习也莫得路子,又不想白白耗费时间。于是选择了Leetcode这个平台来刷题库。编程我只学过基础的C语言,现在在自学Python,所以用Pyt...

LanXiu_的博客 897

力扣每日SQL刷题(574,577,578,579,580)

而又不能使用COUNT(*)或COUNT(1),因为这样会把没有任何学生的部门下的学生数统计为1。对于该员工工作的每个月,将 该月 和 前两个月 的工资 加 起来。如果员工在前几个月没有为公司工作,那么他们在前几个月的有效工资为 0。– 编写解决方案,为 Department 表中的所有部门(甚至是没有当前学生的部门)报告各自的部门名称和每个部门的学生人数。编写一个解决方案,在一个统一的表中计算出每个员工的 累计工资汇总。不要 包括雇员 没有工作 的任何一个月的 3 个月总工资和。

骑着居居追飞机的博客 1658

【LeetCode热题100】No.15——三数之和

本文讲解 LeetCode 热题 100 中的 “三数之和” 题,介绍其最优解法:排序 + 双指针法。先对数组排序,遍历固定第一个元素(同时剪枝、去重),再用双指针找另外两个元素,通过调整指针逼近 “和为 0” 的目标,过程中同步去重。该方法将时间复杂度从 O (n³) 降至 O (n²),空间复杂度为 O (log n),既高效搜索三元组,又避免重复结果,还通过案例验证了正确性,是数组类问题中 “排序 + 双指针” 技巧的典型应用。

Mr.Ja的博客 2046

js + leetcode刷题:No.11 盛最多水的容器

思路: 1.暴力;2.根据“如果新边足够高的话,效果有可能大于宽度收缩带来的负效果”,所以向内收缩时,移动矮的一侧 题目: 盛最多水的容器 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不...

qq_34425377的博客 202
上一篇: No.213 - LeetCode[63] Unique Paths II - 矩阵左上走右下的路径数 - 经典dp
下一篇: No.215 - LeetCode[73] Set Matrix Zeroes - 矩阵刷0
ShellDawn
博客等级 码龄10年 75粉丝 756原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值