leetcode(16-20)

避坑指南:STM32定时器测PWM频率占空比时,那些CubeMX没告诉你的细节(蓝桥杯真题衍生) 本文深入解析STM32定时器测量PWM频率和占空比时的关键细节,揭示CubeMX配置中未明确的时钟树原理和输入捕获机制。针对蓝桥杯嵌入式赛题中的常见问题,提供动态调整预分频器、多采样数字滤波等实战解决方案,帮助开发者避免测量误差,提升PWM测量精度和稳定性。 阅读详情

16. 最接近的三数之和

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。

例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.

与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).
class Solution {
public:
    int threeSumClosest(vector<int>& nums, int target) {
        int n = nums.size();
        int ret = 100000;
        sort(nums.begin(), nums.end());
        for(int i=0; i<n-2; i++){
            for (int j=i+1; j<n-1; j++) {
                for (int k=j+1; k<n; k++) {
                    if (abs(ret-target) > abs(nums[i]+nums[j]+nums[k]-target)){
                        ret = nums[i]+nums[j]+nums[k];
                    }
                }
            }

        }
        return ret;
    }
};

17. 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

示例:

输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

说明:
尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。

class Solution {
public:
    vector<string> letterCombinations(string& digits) {
        vector<string> res;
        int len = res.size();
        map<char,string> dic;
        string temp="";
        dic.insert(pair<char,string>('2',"abc"));
        dic.insert(pair<char,string>('3',"def"));
        dic.insert(pair<char,string>('4',"ghi"));
        dic.insert(pair<char,string>('5',"jkl"));
        dic.insert(pair<char,string>('6',"mno"));
        dic.insert(pair<char,string>('7',"pqrs"));
        dic.insert(pair<char,string>('8',"tuv"));
        dic.insert(pair<char,string>('9',"wxyz"));
        process(res,dic,digits,temp);
        return res;
    }
    void process(vector<string> &res, map<char,string> &dic, string digits, string temp) {
        if (digits.size() == 0) {
            if(temp != "")
                res.push_back(temp);
            return;
        }
        int len = dic[digits[0]].size();
        for (int i=0; i<len; i++) {
            process(res,dic,digits.substr(1),temp+dic[digits[0]][i]);
        }
    }
};

18. 四数之和

给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。

注意:

答案中不可以包含重复的四元组。

示例:

给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。

满足要求的四元组集合为:
[
  [-1,  0, 0, 1],
  [-2, -1, 1, 2],
  [-2,  0, 0, 2]
]
class Solution {
public:
    vector<vector<int>> fourSum(vector<int>& nums, int target) {
        set<vector<int>> res;
        sort(nums.begin(), nums.end());
        for (int i = 0; i < int(nums.size() - 3); ++i)
        {
            for (int j = i + 1; j < int(nums.size() - 2); ++j) 
            {
                if (j > i + 1 && nums[j] == nums[j - 1]) continue;
                int left = j + 1, right = nums.size() - 1;
                while (left < right) 
                {
                    int sum = nums[i] + nums[j] + nums[left] + nums[right];
                    if (sum == target) 
                    {
                        vector<int> out{nums[i], nums[j], nums[left], nums[right]};
                        res.insert(out);
                        ++left; 
                        --right;
                    } else if (sum < target) ++left;
                    else --right;
                }
            }
        }
        return vector<vector<int>>(res.begin(), res.end());
 
    }
};

19. 删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。

示例:

给定一个链表: 1->2->3->4->5, 和 n = 2.

当删除了倒数第二个节点后,链表变为 1->2->3->5.

说明:

给定的 n 保证是有效的。

进阶:

你能尝试使用一趟扫描实现吗?

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        if (n==0) return head;
        ListNode* delLoc=head;
        ListNode* delTail=head;
        for (int i=0;i<n;i++){
            delTail = delTail->next;
        }
        if (delTail == NULL) {
            head = delLoc->next;
            delete delLoc;
            return head;
        }
        while (delTail->next != NULL) {
            delTail = delTail->next;
            delLoc = delLoc->next;
        }
        delLoc->next=delLoc->next->next;
        return head;
    }
}; 

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。

注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"
输出: true

示例 2:

输入: "()[]{}"
输出: true

示例 3:

输入: "(]"
输出: false

示例 4:

输入: "([)]"
输出: false

示例 5:

输入: "{[]}"
输出: true
class Solution {
public:
    bool isValid(string s) {
        stack<char> result;  
        int n=s.size();  
        if(n==0) return true;  
     for(int i=0;i<n;i++)  
            {  
                if(result.empty())  
                    result.push(s[i]);  
                else if(result.top()=='('&&s[i]==')'||  
                      result.top()=='['&&s[i]==']'||  
                      result.top()=='{'&&s[i]=='}')   
                        result.pop();  
                else  
                    result.push(s[i]);  
                  
            }  
            return result.empty();  
    }
};

 

(以上题目均摘自leetcode)

皮肤病识别 - 使用DenseNet或EfficientNet模型在ISIC数据集上进行皮肤病识别任务 在本篇博客中,我们探讨了如何使用 DenseNet 和 EfficientNet 模型在 ISIC 数据集上进行皮肤病识别任务。我们加载了数据集,并进行了预处理。然后我们使用 Keras 构建了两个不同的模型,并训练和评估了它们。最后,我们使用训练好的模型对新的皮肤病图像进行了预测。 阅读详情

相关推荐

详细介绍:国产操作系统银行麒麟V10的下载和安装

银河麒麟是由。银河麒麟已经发展为银河麒麟服务器操作系统、桌面操作系统、嵌入式操作系统、麒麟云、操作系统增值产品为代表的产品线。为攻克中国软件核心技术“卡脖子”的短板,银河麒麟建设自主的开源供应链,发起中国首个开源桌面操作系统根社区openKylin,银河麒麟操作系统以openKylin等自主根社区为依托,发布最新版本。

lz17267861157的博客 1万+

leetcode 46. 全排列

一、题目 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 二、解法 思路:回溯法(本质就是dfs) 全排列就是要将n个数字填入n个空格中。如果我们已知前面k个空格已经填好,现在需要填一个数,那么只需要在后面n-k个数中间选一个即可。 回溯的意思是,每一次选就是简单的将后面的元素和前面的元素进行交换,然后继续进行下

livingsu的博客 174

工业组态软件Intouch(单机版)入门{第二篇}

第5步:*都装好之后,需要进行测试授权是否生效,测试1:能否正常运行项目和编辑项目(能否编辑项目,取决于你的授权是否包含开发功能,如果只是单一的runtime授权,则只能运行项目,不能编辑项目)。在线第3步:点击第一个框右边的按钮,弹出文件浏览窗口,选中你的XMl授权文件,打开,然后你的授权出现在下方的列表中,勾选你的授权,然后点击Activate,等待几秒,授权就会出现在管理器页面的列表中,并且Status会显示Activated。第1步:软件安装好之后,先要配置好授权服务器。等待几秒,激活完成。

weixin_41571357的博客 1万+

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的 任意个数之和 等于 target,并打印出所有结果的索引。

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的 任意个数之和 等于 target,并打印出所有结果的索引。 例如: nums = [1,5,8,17,29,33,39,11,16] ,target = 33 结果1:5 ,结果2:3,8,… !!!! 把输出结果保存到代码后面 !!!! import java.util.*; public class ArrayListTest { private static final int[] Data =

dengz_j的博客 5707

FX2N-2AD模块实战:从硬件连接到FROM/TO指令编程详解

本文详细解析FX2N-2AD模拟量输入模块的硬件连接与FROM/TO指令编程技巧,涵盖BFM缓冲存储器配置、梯形图程序设计及工程实战经验。通过实例演示如何实现精准信号采集与数据处理,特别针对PLC系统中的常见故障提供解决方案,助力工业自动化工程师高效完成设备调试与维护。

prometheus9mon的博客 507

ATM火控电容改造实战:提升速凌无刷电机动力与系统稳定性

在嵌入式系统与电机驱动领域,电源完整性是保障电路稳定运行的核心基础。其核心原理在于通过合理的电容网络设计,为负载提供瞬时大电流并滤除高频噪声,从而维持电压稳定。这项技术的核心价值在于能显著提升系统的动态响应能力与可靠性,避免因电压跌落导致微控制器复位或功率器件过应力。典型的应用场景包括无人机电调、机器人关节驱动以及各类需要快速响应的伺服系统。本文聚焦于水弹发射器ATM火控系统的硬件迭代,通过详解电容的选型、布局与焊接流程,特别是针对速凌五代无刷电机的高启动电流特性,系统性地阐述了如何通过强化电源储能与芯片去

weixin_33868027的博客 556

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。   给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] class Solution { public: vector&lt;int&gt;...

LU_Leo的博客 1377

边云协同智能进化:大模型与小模型的动态训练与高效部署策略

本文深入探讨了边云协同架构下大模型与小模型的动态训练与高效部署策略。通过物流分拣、医疗影像等实战案例,展示了如何利用边云协作框架实现AI模型的智能进化,显著提升处理效率与准确性。重点解析了动态任务分配、增量学习和知识蒸馏等关键技术,为分布式训练场景提供优化方案。

work3的博客 191

【PythonCode】力扣Leetcode16~20题Python版

Leetcode16-20

weixin_43790276的博客 1648

向华为学习——解读华为战略规划SP与业务计划BP流程【附全文阅读】

该方案针对大中型企业高管及战略团队,系统拆解华为SP(4-9月中长期规划)与BP(10-12月年度执行)双轨体系,形成"战略制定-业务设计-资源配置-绩效解码"闭环。SP侧重市场趋势分析、业务优先级与资源分配,BP细化KPI、预算及行动计划。通过价值树、战略解码等工具实现战略到部门/个人的目标分解,强化跨部门协同与过程管控。配套17份华为实战资料(包括战略管理、流程优化、销售组织建设等核心方法论),助力企业建立规范的战略执行体系,实现资源优化与绩效落地。

cdfunlove的博客 769

【生产实践】PostgreSQL高可用Patroni安装(超详细已踩坑)

一 安装Patroni 0 Patroni 对Python的版本要求 我安装的是Patroni最新版本 :4.0.3,Patroni 对Python 版本有要求,没有具体的版本矩阵,但是根据每个版本发布信息可以得到以下信息 Patroni 4.0 需要 Python 3.8 以上(可以根据下面发布版本信息推理出) Version 3.0.2 Version 3.0.2 dropped support of Python older than 3.6. 版本3.0.2不再支持3.6版本以下的P

DBA之路的博客 1741

leetcode从零开始之16-20

思路:类似于三数之和的升级版,由于双指针是由两个边界往中间,暂时没想到三指针,采用的方法为两端分别固定一头,一个最左边,一个最右边,然后将中间部分采用双指针方案寻找满足条件的四个数,两边的数则需要循环确定,本题的关键点是几种剪枝方案需要实现,实现合适的剪枝方案可以大幅减少运行时间。思路:经典链表的基本操作,关键是怎么确定当前位置为倒数第N个,采用的方法为设立两个指针,一个先走n步后,第二个再出发,这样第一个到最后一个节点时,第一个在倒数第N个结点上,找出结点后就是经典的链表删除节点操作。

qq_44192351的博客 829

2025年CSP-J复赛真题及题解:T4 多边形(polygon)

2025年CSP-J复赛真题及题解:T4 多边形(polygon)

王老师青少年编程 1718

面试题 16.20. T9键盘-力扣双百代码

在老式手机上,用户通过数字键盘输入,手机将提供与这些数字相匹配的单词列表。每个数字映射到0至4个字母。给定一个数字序列,实现一个算法来返回匹配单词的列表。你会得到一张含有有效单词的列表。输入: num = “2”, words = [“a”, “b”, “c”, “d”]输入: num = “8733”, words = [“tree”, “used”]输出: [“tree”, “used”]输出: [“a”, “b”, “c”]

weixin_43327597的博客 333

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【LeetCode Solutions】LeetCode 热题 100 题解(16 ~ 20)

【LeetCode Solutions】LeetCode 热题 100 题解(16 ~ 20)

一只快乐的小蒟蒻~ 1094

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Leetcode面T16(11-20)树

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

2401_84132401的博客 800

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

力扣 LeetCode 面试题 16.20. T9键盘

用一个letters[10]记录手机字母,再把word[i]长度与num长度对比,如果一样,则利用atoi函数把num[j]变为数字a,去看letters[a]中是否含有word[i][j] class Solution { public: string letters[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}; vector<string> getValidT9Words(string nu.

weixin_43304992的博客 339

力扣面试经典150 —— 16-20题

力扣150题16-20

佚失的诗篇 1431

LeetCode Q16-Q20练习笔记 (Python3)

LeetCode Q16-Q20Q16 最接近的三数之和 3Sum ClosestQ17 电话号码的字母组合 Letter Combination of a Phone NumberQ18 四数之和 4SumQ19 删除链表的倒数第 N 个结点 Remove Nth Node from End of ListQ20 有效的括号 Valid ParenthesesQ16-Q20 一些笔记 Q16 最接近的三数之和 3Sum Closest 给定一个包括 n 个整数的数组 nums 和 一个目标值 targe

SandWHaleXYl的博客 1219

Day4  LeetCode 16 20 21题(java)

LeetCode刷题第四天 16/20/21题 1. 最接近的三数之和(LeetCode 16题) 1.1题目 1.2思路 首先就是三重循环的方法,emmm 这个题和15题有异曲同工之妙。解法也一致。 也是双指针。然后把三个数之和简化为两个数之和。通过双指针不断逼近,然后求得最优解。 1.3代码 class Solution { public int threeSumClosest(int[] nums, int target) { Arrays.sort(n..

QAQterrible的博客 262

LeetCode 16~20

前言 本文隶属于专栏《LeetCode 刷题汇总》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构请见LeetCode 刷题汇总 正文 幕布 幕布链接 16. 最接近的三数之和 题解 画解算法:16. 最接近的三数之和 sort+双指针+abs class Solution { public int threeSumClosest(int[] nums, int target) { int len = nums.length, re

Shockang的博客 6103

【LeetCode Solutions】LeetCode 16 ~ 20 题解

【LeetCode Solutions】LeetCode 16 ~ 20 题解

一只快乐的小蒟蒻~ 578

Leetcode 16 20 21

Leetcode-最接近的三数之和 题目描述 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/3sum

weixin_44584702的博客 141

【LeetCode解析】LeetCode逐题解析(16 ~ 20题)

求四数之和 target ,“三数之和问题 ”的拓展,遍历数组中的每一位,并将其作为目标位 targetI ,接下来问题就转化为?”,从而问题就转化为了求解“三数之和 ”:此题遍历两遍链表即可求出结果,第一遍遍历求出链表的长度,再根据删除的倒数第几个数从而得到,应该删除正数第几个数,第二次遍历就可以直接删除这个整数第几个数。:此题和枚举全排列的方法完全一样,只不过从枚举数字变成了枚举字符,使用 dfs 进行暴力搜索即可。:最接近的三数之和这道题和上一道三数之和题目的思路完全一样,详细参考上一篇文章。

qq_50478369的博客 291

LeetCode50题-Day4-16/20/21

LeetCode50题(17天)-Day4 16 最接近的三数之和 题号:16 难度:中等 https://leetcode-cn.com/problems/3sum-closest/ 给定一个包括n个整数的数组nums和一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。 示例 : 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 +

weixin_43760925的博客 232

【JavaScript】LeetCode:16-20

【代码】【JavaScript】LeetCode:16-20。

weixin_45980065的博客 1164
上一篇: 知识图谱资料
下一篇: java基础
小小螺丝刀
博客等级 码龄10年 41粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值