【LeetCode】HOT 100(19)

news2024/10/4 6:38:17

题单介绍:

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

目录

题单介绍:

题目:739. 每日温度 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

题目:647. 回文子串 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

写在最后:


题目:739. 每日温度 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        
    }
};

解题思路:

这道题,我看一眼之后,

马上暴力开干,然后,

就超时了:

class Solution {
public:
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        vector<int> v;
        for(int i = 0; i < temperatures.size(); i++) {
            int cnt = 0;
            for(int j = i + 1; j <= temperatures.size(); j++) {
                if(j == temperatures.size()) {
                    v.push_back(0);
                    break;
                }
                cnt++;
                if(temperatures[j] > temperatures[i]) {
                    v.push_back(cnt);
                    break;
                }
            }
        }
        return v;
    }
};

然后就超时了:

 实际上这道题需要用单调栈来做,

(我后来在题解看到,优化后的暴力好像也能过)

具体思路如下:

初始化返回数组的每个元素为0

遍历数组,然后入栈,保持这个单调栈处于递减状态,

如果遇到有比栈顶大的值需要入栈,就通过下标相减得到间隔天数,

然后让原先栈顶的值出栈即可。

代码如下:

代码:

class Solution {
public:
    vector<int> dailyTemperatures(vector<int>& temperatures) {
        vector<int> ans(temperatures.size(), 0); //返回数组元素初始化成0
        stack<int> st;
        for(int i = 0; i < temperatures.size(); i++) {
            while(!st.empty() && temperatures[i] > temperatures[st.top()]) {
                int top = st.top(); //记录栈顶值下标
                st.pop(); //栈顶出栈
                ans[top] = i - top; //下标相减得距离
            }
            st.push(i); //遍历入栈
        }
        return ans;
    }
};

过过过过啦!!!!

题目:647. 回文子串 - 力扣(Leetcode)

题目的接口:

class Solution {
public:
    int countSubstrings(string s) {

    }
};

解题思路:

这道题一眼暴力,

暴力小王子请求出战,

结果,你还真能用暴力过啊,

看一眼题解,用的是中心扩散,

恕我直言,那不就是暴力吗,

这道题肯定是能用动态规划的,不过我不会用,

那就暴力吧,

代码如下:

代码:

class Solution {
public:
    int countSubstrings(string s) {
        int cnt = 0;
        for(int i = 0; i < s.size(); i++) {
            string tmp;
            for(int j = i; j < s.size(); j++) {
                tmp += s[j];
                if(isHui(tmp)) cnt++;
            }
        }
        return cnt;
    }
private:
    bool isHui(const string& s) {
        int left = 0, right = s.size() - 1;
        while(left <= right) {
            if(s[left] != s[right]) return false;
            left++;
            right--;
        }
        return true;
    }
}; 

过过过过啦!!!!

写在最后:

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

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

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

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

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

相关文章

linux修改oracle sys密码

忘记了sys密码 su - oracle&#xff1b; sqlplus / as sysdba; alter user system identified by test; navicat测试连接

【软件测试三】测试用例篇

目录 1.测试用例的基本要素 2.测试用例的给我们带来的好处 3.设计测试用例的万能公式 3.1.水杯的测试用例 3.2.微信发送朋友圈的测试用例 4.设计测试用例的方法 基于需求设计的测试用例 1.等价类 2.边界值 3.判定表 4.正交法 1.正交表表达式 2.特点&#xff1a; …

【OSI体系结构】网络杂谈(14)之OSI体系结构精准理解

涉及知识点 什么是OSI体系结构&#xff0c;OSI体系结构的概念&#xff0c;网络协议三要素&#xff0c;应用层&#xff0c;表示层&#xff0c;会话层&#xff0c;传输层&#xff0c;表示层&#xff0c;数据链路层&#xff0c;物理层&#xff0c;开放系统互连参考模型各层的功能…

CRM系统助力医疗机构数字化营销全链路,让获客和留存更简单

在数字经济背景下&#xff0c;医疗行业面临经营、管理、组织变革升级的迫切需求。伴随云计算、大数据、物联网、5G、人工智能等数字化技术的创新应用&#xff0c;加速推动了国内医疗机构数字化转型地落地。后疫情时代下&#xff0c;如何展望未来、寻找医疗健康行业重回增长轨道…

原生DOM与组件绑定 原生DOM事件和自定义事件

1. 原生DOM可以绑定原生DOM系统事件 2. 组件标签可以绑定系统事件&#xff08;不起作用&#xff0c;因为属于自定义事件&#xff09;------ .native &#xff08;可以把自定义事件变为原生DOM事件&#xff09; 3. 原生DOM绑定自定义事件 ---无意义&#xff1a;因为没有办法触…

企业部署MES管理系统需要配置专业团队吗

随着数字化转型的推进&#xff0c;越来越多的企业开始考虑部署MES生产管理系统来提高生产效率和管理水平。在部署制造企业MES系统时&#xff0c;是否需要配置专业团队是一个关键问题。本文将探讨企业部署MES管理系统所需的专业团队的重要性&#xff0c;并提供一些建议。 全球制…

微服务进阶篇

文章目录 1、SpringCloud面试快速答法 1.1、Eureka1.2、Nacos面试快速答法 1.3、Ribbon负载小总结面试快速答法 1.4、服务雪崩小总结面试快速答法 1.5、服务监控小总结面试快速答法 2、业务相关2.1、限流Nginx限流网关限流小总结面试快速答法 2.2、分布式事务分布式理论CAP、BA…

WEB漏洞-XXEXML之利用检测绕过全解(39)

#概念 xml&#xff1a;xml被设计成传输和储存数据&#xff0c;XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素&#xff0c;其焦点是数据的内容。就类似于一种数据的格式&#xff0c;代码类的一些东西&#xff1b; xxe&#xff1a;是xml上面的一个漏洞&#xff0c;…

STM32F407 基本定时器配置输出PWM方波

介绍STM32F407定时器PWM波形输出配置方式。 通过逻辑分析采集波形数据进行可视化显示对比。 【1】定时器PWM功能介绍 STM32F4 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也…

Vmware 虚拟机win7不识别usb3.0/3.1解决方案

问题现象&#xff1a; VMware安装的Win7系统&#xff0c;虚拟机设置USB控制器已打开&#xff0c;可以识别USB2.0U盘&#xff0c;不识别USB3.0/3.1U盘( 本人使用的金士顿U3.1)。 尝试方案&#xff1a; 1&#xff1a;检查本机系统Vmware USB 服务是否开启&#xff0c;重启虚拟机…

基于Ant DesignPro Vue + SpringBoot 前后端分离 - 后端微服化 + 接口网关 + Nacos + Sentinel

基于Ant DesignPro Vue SpringBoot 前后端分离 - 后端微服化 接口网关 Nacos Sentinel 通过Ant DesignPro Vue SpringBoot 搭建的后台管理系统后&#xff0c;实现了前后端分离&#xff0c;并实现了登录认证&#xff0c;认证成功后返回该用户相应权限范围内可见的菜单。 后…

小白也能学会!人物百度百科怎么创建?5分钟教会你怎么创建人物百度百科

在当今互联网的时代&#xff0c;越来越多的小伙伴都有了打造个人IP意识&#xff0c;把个人形象展示出来&#xff0c;形成一张网络名片。人物百度百科就是是我们一个不错的选择&#xff0c;它具有体面和象征性。大家都知道在搜索引擎上随便搜索一个明星的名字&#xff0c;都可以…

【Servlet学习五】实现一个简单的数据库版本的留言墙!

目录 一、前期环境搭建 二、具体后端代码实现 &#x1f308;1、创建数据库 &#x1f308;2、创建message类&#xff1a;定义属性和相应的get和set方法 &#x1f308;3、创建JDBC工具类&#xff1a;DBUtil文件&#xff0c;定义一些数据库的基本操作 &#x1f308;4、创建m…

【doxygen】doxygen 支持宏判断

文章目录 配置 doxygen代码中判断宏 配置 doxygen 定义自己的宏 HAL_CONFIG_USB 代码中判断宏 if HAL_CONFIG_USB your contents endif需要注意的是 Doxygen不支持直接的 elif 指令。Doxygen只提供了 if 和 endif 指令来实现条件性文档生成。如果您需要多个条件进行判断&am…

VRRP协议是什么?详解它的工作原理

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 前言 本文将讲解VRRP是什么&#xff0c;以及它的工作原理&#xff0c;优点以及基本概念。 目录 一、VRRP协议是什么&#xff1f; 二、VRR…

Kubernetes·陈述式声明式资源管理

陈述式资源管理方法&#xff1a; 1.kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口 2.kubectl 是官方的CLI命令行工具&#xff0c;用于与 apiserver 进行通信&#xff0c;将用户在命令行输入的命令&#xff0c;组织并转化为 apiserver 能识别的信…

《PCL+QT》各版本环境配置问题总结

PCL各版本QT配置问题 一、资源下载1、vs2015 -pcl1.8.1 - qt5.12 -vtk82、 vs2019-pcl 1.11.1-qt 5.12-vtk8.23、 vs2019-pcl1.12.1-qt 6.2.4-vtk9.14 、vs2022-pcl1.13.0-qt 6.2.4-vtk9.2 二、版本1、 vs2015 -pcl1.8.1 - qt5.12 -vtk82、 vs2019-pcl 1.11.1-qt 5.12-vtk8.23、…

【C/C++】解析 类成员函数和this指针

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

RuntimeError: CUDA error: an illegal memory access was encountered

在跑一个Transformer的代码时&#xff0c;出现了这个错误。这个错误信息非常奇怪&#xff0c;通过Debug发现&#xff0c;模型的前向传播是正常的&#xff0c;损失也能计算出来&#xff0c;但是一开始反向传播就出问题了。经过尝试&#xff0c;发现是batch_size过大&#xff0c;…

SpringMvc中文件上传

文章目录 1.导入文件上传所需要的jar包 2. 配置文件解析器 3.写一个前端页面 4.写后台程序 1.导入文件上传所需要的jar包 <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.…