双非二本找工作前的准备day15

  学习目标:

每天复习代码随想录上的题目1-2道算法(时间充足可以继续)

今日碎碎念:

1)双非本真难受...


力扣刷题

算法

力扣20:20. 有效的括号

class Solution {public boolean isValid(String s) {//这里我们只将右括号放入栈中,有一个左括号,那么就放入它的右括号//等把左括号走完之后,再去对比右括号,此时栈中都是右括号,依次取出来去对比就行了Deque<Character> que = new LinkedList<>();char[] cs = s.toCharArray();char ch;for(int i = 0;i<cs.length;i++){ch = cs[i];if(cs[i]=='('){que.push(')');}else if(cs[i]=='{'){que.push('}');}else if(cs[i]=='['){que.push(']');}else if(que.isEmpty() || que.peek() != ch){//1.如果栈已经空了,但是还有需要比较的字符就false//2.栈里面的字符和我们当前比较的不匹配就falsereturn false;}else{//如果匹配,就弹出栈顶que.pop();}}return que.isEmpty();}
}

 力扣1047:1047. 删除字符串中的所有相邻重复项

解答思路:

        1)这种使用栈队列来做比较好实现的,其实题目就已经暗示了使用这两种数据结构。

class Solution {public String removeDuplicates(String S) {ArrayDeque<Character> deque = new ArrayDeque<>();char ch;for (int i = 0; i < S.length(); i++) {ch = S.charAt(i);if (deque.isEmpty() || deque.peek() != ch) {deque.push(ch);} else {deque.pop();}}String str = "";//剩余的元素即为不重复的元素while (!deque.isEmpty()) {str = deque.pop() + str;}return str;}
}

 力扣1047:150. 逆波兰表达式求值

解答思路:

        1)这种使用栈队列来做比较好实现的,其实题目就已经暗示了使用这两种数据结构。

        2)需要注意的是减法和除法,有减数被减数,除数和被除数的概念,所以我们需要区分

class Solution {public int evalRPN(String[] tokens) {Deque<Integer> stack = new LinkedList();for(String s : tokens){if("+".equals(s)){stack.push(stack.pop() + stack.pop());}else if("-".equals(s)){stack.push(-stack.pop() + stack.pop());}else if("/".equals(s)){int temp1 = stack.pop();int temp2 = stack.pop();stack.push(temp2 / temp1);}else if ("*".equals(s)) {stack.push(stack.pop() * stack.pop());}else{stack.push(Integer.valueOf(s));}}return stack.pop();}
}

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

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

相关文章

类加载子系统之类的生命周期(待完善)

0、前言 文中大量图片来源于 B站 黑马程序员 0.1、类加载子系统在 JVM 中的位置 类加载器负责的事情是&#xff1a;加载、链接、解析 0.2、与类的生命周期相关的虚拟机参数 参数描述-XX:TraceClassLoading打印出加载且初始化的类 1、类的生命周期 堆上的变量在分配空间的时…

【C++STL详解(三)】------vector的介绍与使用

目录 前言 一、关于数组 二、vector的介绍 三、vector的使用 Ⅰ、默认成员函数 1.构造函数 2.赋值重载 3.析构函数 Ⅱ、容量 1.size(&#xff09; 2.capacity() 3.empty() 4.resize() 5.reserve() Ⅲ、遍历操作 1.迭代器 begin() end()&#xff08;正向迭代器…

ubuntu18源码安装postgresql15.2数据库

由于官方的源只能安装到pg10这个版本&#xff0c;整了好一会没有成功就改为源码安装了。 下载源代码源码并解压 wget https://ftp.postgresql.org/pub/source/v15.2/postgresql-15.2.tar.gztar -xf postgresql-15.2.tar.gz cd postgresql-15.2/ 安装C相关开发库和编译工具 ap…

Java解决找出字符串中第一个匹配项的下标

Java解决找出字符串中第一个匹配项的下标 01 题目 给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返回 -1 。 示…

网络扫描技术

网络扫描技术是信息安全领域中的一项重要技术&#xff0c;它旨在发现网络中的设备、服务、漏洞和配置情况&#xff0c;为安全评估、渗透测试或恶意攻击做准备。以下是几种主要的网络扫描技术&#xff1a; PING扫射&#xff08;Ping sweep&#xff09;&#xff1a; 通过发送ICMP…

element 分页切换时:current-page无效 页数不会跟着一起切换

问题回溯&#xff1a;使用el-pagination组件 选择切换当前分页 页数为2 问题结果&#xff1a;el-pagination组件 当前页切换失败 一直都是 1&#xff0c;接口传参分页数据是2&#xff0c;打印当前分页也是2 解决方案1&#xff1a;使用 current-page参数 .sync 修饰符 解决方案2…

安装nuxt3环境

安装nuxt3&#xff0c;按照nuxt官网&#xff0c;node版本需在18以上 执行 npx nuxilatest init ‘xxx’终端控制台可能会报错&#xff1a; ERROR Error: Failed to download template from registry: Failed to download https://raw.githubusercontent.com/nuxt/starter/temp…

rust将json字符串直接转为map对象或者hashmap对象

有些时候我们还真的不清楚返回的json数据里面到底有哪些数据&#xff0c;数据类型是什么等&#xff0c;这个时候就可以使用批处理的方式将json字符串转为一个对象&#xff0c;然后通过这个对象的get方法来获取json里面的数据。 pub async fn test_json(&self) {let json_st…

STM32的TIM输入捕获和PWMI详解

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. IC输入捕获 2. 频率测量 3. 主模式、从模式、触发源选择 4. 输入捕获基本结构 5. PWMI模式 6. 代码示例 6.1 PWM.c 6.2 PWM.h 6.3 IC.c 6.4 IC.h 6.5 完整工程文件 输出比较可以看下面这篇…

numpy+matplotlib绘制阿基米德螺线

【第10次课]实验十一数据可视化及应用】 声明&#xff1a;著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 绘制阿基米德螺线&#xff0c;运行效果如图所示。 参数方程为: x icosi yisini 其中半径i和圆心角i变化一致&#xff0c;取值范围为…

#你觉得未来的智慧工地是什么样子的#

#你觉得未来的智慧工地是什么样子的# 有人说“现阶段的智慧工地都是噱头&#xff0c;实际用处不大”&#xff1b;也有人将智慧工地吹嘘上天。那么&#xff0c;随着技术的发展&#xff0c;你觉得未来的智慧工地会是什么样子呢&#xff1f; 随着大数据时代的到来&#xff0c;未来…

Three.js杂记(十五)—— 汽车展览(下)

在上一篇文章Three.js杂记&#xff08;十四&#xff09;—— 汽车展览上 - 掘金 (juejin.cn)中主要对切换相机不同位置和鼠标拖拽移动相机焦点做了简单的应用。 那么现在聊聊该如何实现汽车模型自带的三种动画展示了&#xff0c;实际上可以是两种汽车前后盖打开和汽车4车门打开…

Java基础:探秘基本数据类型与对象的巧妙转换

作为准备面试的程序员&#xff0c;了解Java的基本数据类型及其与对象之间的转换功能是非常重要的。 本文将深入探讨Java的基本数据类型&#xff0c;介绍基本数据类型和对象之间的转换方式&#xff0c;帮助你更好地准备面试。 Java的基本数据类型 Java的基本数据类型包括以下…

抑郁后的症状表现——XWX-QP大小鼠强迫游泳桶硬件

简单介绍&#xff1a; 大小鼠强迫游泳桶硬件主要用于抗抑郁的研究。适用于大鼠、小鼠或其他实验室动物&#xff0c;通过将实验动物置于一个局限的环境中&#xff0c;动物在该环境中拼命挣扎试图逃跑又无法逃脱&#xff0c;从而提供了一个无可回避的压迫环境&#xff0c;动物的…

如何提取二维码文本信息?文本二维码提取内容的方法

如何分解出二维码中的文本信息呢&#xff1f;很多商家在做活动时会给每个用户生成一个单独的二维码&#xff0c;每一个二维码中有单独的编号信息&#xff0c;那么当我们收集到用户的二维码时&#xff0c;如何操作才能够提取二维码中的编号信息呢&#xff1f;想要解决这个问题可…

双目深度估计原理立体视觉

双目深度估计原理&立体视觉 0. 写在前面1. 双目估计的大致步骤2. 理想双目系统的深度估计公式推导3. 双目标定公式推导4. 极线校正理论推导 0. 写在前面 双目深度估计是通过两个相机的对同一个点的视差来得到给该点的深度。 标准系统的双目深度估计的公式推导需要满足:1)两…

Vue3+ts(day04:watch、watchEffect)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学&#xff0c;可以点心心支持一下哈&#xff08;笔记是根据b站上学习的尚硅谷的前端视频【张天禹老师】&#xff0c;记录一下学习笔记&#xff0c;用于自己复盘&#xff0c;有需要学…

机器学习学习 - 数据预处理

机器学习学习笔记 - 数据预处理 数据预处理是机器学习项目中不可或缺的一环&#xff0c;它涉及到数据的清洗、格式化、归一化、特征提取等一系列操作&#xff0c;以便为后续的模型训练和分析提供高质量的数据集。以下是关于数据预处理的一些关键步骤和注意事项。 一、数据准备…

树莓派5用docker运行Ollama3

书接上回&#xff0c;树莓派5使用1panel安装 Ollama 点击终端就可以进入容器 输入以下代码 ollama run llama3Llama3 是市场推崇的版本。您的 树莓派5上必须至少有 4.7GB 的可用空间&#xff0c;因此用树莓派玩机器学习就必须配置大容量的固态硬盘。用1panel部署网络下载速度…

RTX3090显卡功耗对比

NVIDIA RTX 3090显卡的官方总图形功耗&#xff08;TGP&#xff09;为350瓦。这是公版显卡的设计功耗。然而&#xff0c;在实际使用中&#xff0c;尤其是进行高强度任务如游戏或专业渲染时&#xff0c;其功耗可能会超过这个数值&#xff0c;尤其在超频的情况下。有报告指出&…