【LeetCode】HOT 100(26)

news2024/11/13 9:40:51

题单介绍:

精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。

目录

题单介绍:

题目:394. 字符串解码 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

题目:347. 前 K 个高频元素 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

写在最后:


题目:394. 字符串解码 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    string decodeString(string s) {

    }
};

解题思路:

看到这种括号匹配的题目,

第一个想法其实就是用栈来解决,

一个栈存储数字,一个栈存储字母,

遇到做括号入栈,遇到右括号就出栈,

根据这个思路来做就行:

代码如下:

代码:

class Solution {
public:
    string decodeString(string s) {
        stack<int> stI;
        stack<string> stS;
        int num = 0;
        string res = "";
        for(int i = 0; i < s.size(); i++) {
            if(s[i] >= '0' && s[i] <= '9') { //数字
                num = num * 10 + (s[i] - '0');
            }
            else if((s[i] >= 'a' && s[i] <= 'z') ||(s[i] >= 'A' && s[i] <= 'Z')) { //字母
                res += s[i];
            }
            else if(s[i] == '[') { //左方括号
                stI.push(num);
                num = 0;
                stS.push(res);
                res = "";
            }
            else { //s[i] == "]"
                int tmp = stI.top();
                stI.pop();
                for(int j = 0; j < tmp; j++) {
                    stS.top() += res;
                }
                res = stS.top();
                stS.pop();
            }
        }
        return res;
    }
};

过过过过啦!!!!

题目:347. 前 K 个高频元素 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {

    }
};

解题思路:

很开心很开心,

这道题是我的原创思路解法,总共分三步走:

思路如下:

第一步,用map记录元素出现的次数,并去重;

第二步,然后用优先级队列根据出现的次数排一个降序,让出现次数最多的在最前面;

第三步,从优先级队列里面拿出前k个出现次数最多的数字push进返回数组即可。

代码如下:

代码:

class Solution {
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        //第一步,用map记录元素出现的次数,并去重
        map<int, int> mp;
        for(auto e : nums) mp[e]++;

        //第二步,然后用优先级队列根据出现的次数排一个降序,让出现次数最多的在最前面
        priority_queue<pair<int, int>, vector<pair<int,int>>, cmp> pq;
        for(const auto& k : mp) pq.push(k);

        //第三步,从优先级队列里面拿出前k个出现次数最多的数字push进返回数组即可
        vector<int> ans;
        for(int i = 0; i < k; i++) {
            ans.push_back(pq.top().first);
            pq.pop();
        }
        return ans;
    }
    
private:
    class cmp {
    public:
        //根据出现的次数排成降序的排序逻辑(仿函数)
        bool operator()(const pair<int,int>& cp1, const pair<int,int>& cp2) {
            return cp1.second < cp2.second;
        }
    };
};

过过过过啦!!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

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

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

相关文章

什么是 AOP?对于 Spring IoC 和 AOP 的理解?Spring AOP 和 AspectJ AOP 有什么区别?

什么是 AOP&#xff1f; AOP(Aspect-Oriented Programming)&#xff0c;即 面向切面编程&#xff0c; 它与OOP( ObjectOriented Programming, 面向对象编程) 相辅相成&#xff0c;提供了与OOP 不同的抽象软件结构的视角 在 OOP 中, 我们以类(class)作为我们的基本单元 而 A…

Zynq 多个UDP客户端组网启动问题(Auto negotiation error)PS:附UDP客户端初始化代码

最近正在进行一个Zynq项目&#xff0c;根据设计需求&#xff0c;需要将上位机作为UDP服务器&#xff0c;而FPGA则充当UDP客户端。同时&#xff0c;服务器需要能够接收和控制多个UDP客户端。 开发过程中&#xff0c;我是基于lwip UDP Perf Client 官方模版开发的。我遇到了以下几…

重磅!高通大客户「跳单」,智能座舱SoC赛道进入「混战期」

哪家车企是高通座舱芯片的最大客户&#xff1f;答案不是蔚来、理想、小鹏等智能化布局领先的新势力&#xff0c;而是比亚迪。 高工智能汽车研究院监测数据显示&#xff0c;2022年中国市场&#xff08;不含进出口&#xff09;乘用车智能座舱前装标配高通芯片交付367.45万辆&…

DALL·E2(unCLIP)、Stable Diffusion、IS、FID要点总结

DALLE 1 DALLE 1可以看成是VQ-VAE和文本经过BPE编码得到的embedding AE&#xff08;Auto Encoder&#xff09; encoder decoder结构&#xff0c;AE在生成任务时只会模仿不会创造&#xff0c;所有有了后面的VAE VAE(Variational AutoEncoder) 不再学习固定的bottleneck特征…

2023-07-07-liunx环境,python调用ITK(c++版本)批量生成Drr

文章目录 一、前言二、配置过程2.1.CMake与ITK的配置2.2.改写ITK的生成drr代码2.3.编译代码2.4.python调用cpp 三、总结四、参考博客 一、前言 最近在做配准&#xff0c;需要用ITK来生成数据&#xff0c;windows版本可以通过cmake与visual studio可以跑通生成。但是想要在linu…

纯干货,全文手码:如何利用低/无代码平台建立集团信息化系统

信息化系统是企业管理体系的延伸 对于一家集团企业而言&#xff0c;要实现信息化&#xff0c;首先需要考虑是否已经建立了完备的信息化管理制度。早在上世纪九十年代卡特彼勒引入了6 Sigma&#xff0c;使整个集团公司的运营规范化、系统化。通过多年的实践积累&#xff0c;卡特…

【雕爷学编程】Arduino动手做(157)---MX1508双路电机驱动模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

计算机视觉:通过边缘检测探究卷积的特征提取功能

本文重点 在前面的课程中,我们学习了卷积核的运算,同时我们也学习了卷积核的含义,我们可以将卷积核理解为特征提取器,也就是说一个卷积核就是一个特征提取器,很多人对这种说法不了解,下面我们就通过一个边缘检测的例子来看一下卷积核是如何进行边缘特征的提取的。 什么…

[ICML 2023] Fast inference from transformers via speculative decoding

Contents IntroductionSpeculative DecodingStandardized SamplingSpeculative Sampling AnalysisNumber of Generated TokensCalculating α \alpha αWalltime ImprovementNumber of Arithmetic OperationsChoosing γ \gamma γ ExperimentsReferences Introduction 为了…

springboot+vue膳食营养健康网站零食美食品商城_4d8g9

随着社会的不断进步与发展&#xff0c;人们对生活质量要求逐步提升。如果开发一款膳食营养健康网站&#xff0c;可以让用户在最短的时间里享受到最好的服务&#xff1b;而开发本网站&#xff0c;又能够提高网站整体工作水平&#xff0c;简化工作程序&#xff0c;这对管理员和用…

北京“数据二十条”发布,筑牢数据安全根基,加速释放数据产能

要实现2000亿的目标&#xff0c;基础保障如何做好&#xff1f; 7月5日&#xff0c;中共北京市委、北京市人民政府印发《关于更好发挥数据要素作用进一步加快发展数字经济的实施意见》&#xff08;《实施意见》分为9个部分&#xff0c;共涉及20项具体任务&#xff0c;也被称作“…

TypeScript 中的 enum 枚举类型的使用解读。

前言 在 TypeScript 中&#xff0c;新增了很多具有特性的一些数据类型处理方法&#xff0c;enum 【枚举】就是其中&#xff0c;很具有代表性的一种&#xff0c;所以本章节就来聊聊 在 TypeScript 中如何去运用 enum 【枚举】。 枚举得的概念&#xff1a; 枚举&#xff08;Enum&…

Web前端工程师笔试题(合集)

Web前端开发工程师笔试题篇1 1. 在一个框架的属性面板中&#xff0c;不能设置下面哪一项。( C ) A.源文件 ; B.边框颜色 ; C.边框宽度 D.滚动条 2. CSS样式表根据所在网页的位置&#xff0c;可分为?(B ) A.行内样式表、内嵌样式表、混合样式表 B.行内样式表、内嵌样式表…

MySQL数据库——多表查询练习2

一、练习素材 创建表 --创建部门表dept create table dept ( dept1 int , dept_name varchar(11));--创建员工表emp create table emp ( sid int , name varchar(11), age int, worktime_start date, incoming int, dept2 int); 插入数据 --部门表插入数据 insert into dep…

C++ 栈和队列(stack and queue)语法使用及底层实现原理

本篇文章会对C中的容器stack和queue用法进行详解&#xff0c;也包含对优先队列&#xff08;priority_queue&#xff09;的讲解。同时会模拟实现stack、queue和priority_queue底层。希望本篇文章会对你有所帮助&#xff01; 目录 一、stack 栈 1、1 什么是适配器 1、2 stack 语法…

C++ 线程池实现

思路 创建多个工作线程同时维护一个公共的任务队列, 任务队列非空时通过信号量唤醒阻塞等待的工作线程, 工作线程通过互斥锁互斥的从任务队列中取出任务, 然后执行任务 实现 信号量类 class sem {//封装信号量类 public:sem(int num 0) {if (sem_init(&m_sem, 0, num)…

Kernel-Pwn-FGKASLR保护绕过

FGKASLR FGASLR&#xff08;Function Granular KASLR&#xff09;是KASLR的加强版&#xff0c;增加了更细粒度的地址随机化。因此在开启了FGASLR的内核中&#xff0c;即使泄露了内核的程序基地址也不能调用任意的内核函数。 layout_randomized_image 在fgkaslr.c文件中存在着…

支持中文手写和多画布的Handraw

什么是 Handraw ? Handraw 是支持中文手写和多画布的 Excalidraw 白板工具。 官网上项目名称还是 Excalidraw-CN&#xff0c;所以 Handraw 应该是基于 Excalidraw 二开的&#xff0c;特点是支持中文手写字体和多画布 官方也提供了免费使用的站点&#xff1a;https://handraw.t…

ModaHub魔搭社区:向量数据库Zilliz Cloud插入 Entity教程

目录 开始前 插入单个 Entity 批量插入 Entity 准备数据 插入数据 写入操作 本文介绍如何将 Entity 插入到 Zilliz Cloud 集群中的 Collection。 Entity 是 Collection 中的基本数据单元。同一个 Collection 中的 Entity 具有相同的属性,这些属性共同定义在 Schema 中…

低代码开发平台助力解决企业开发效率问题

编者按&#xff1a;随着企业应用需求的不断增加&#xff0c;提高企业开发效率已经成为许多企业的目标。传统的开发方法显然不适用&#xff0c;开发平台通过可视化拖拉拽搭建等易用性和高扩展性可以帮助企业解决这个问题。 关键词&#xff1a;可视化开发、私有化部署、前后端分离…