7月11日学习打卡,数据结构栈
大家好呀,本博客目的在于记录暑假学习打卡,后续会整理成一个专栏,主要打算在暑假学习完数据结构,因此会发一些相关的数据结构实现的博客和一些刷的题,个人学习使用,也希望大家多多支持,有不足之处也请指出,谢谢大家。
一,力扣115,最小栈
. - 力扣(LeetCode)
简单用数组模拟一个栈即可,不过我这里图省事运行速度不太高,优化空间很大
class MinStack {int[] el;int numsize;public MinStack() {el = new int[10000];int numsize = 0;}// private void grow(){// this.el=Arrays.copyof(el,2*el.lenth);// }public void push(int val) {// if (el.lenth == numsize) {// grow();// }el[numsize] = val;numsize++;}public int pop() {if (empty())return -1;return el[--numsize];}public int top() {return el[numsize - 1];}private boolean empty() {return numsize == 0;}public int getMin() {int num = el[0];for (int i = 0; i < numsize; i++) {if (el[i] < num)num = el[i];}return num;}
}/*** Your MinStack object will be instantiated and called as such:* MinStack obj = new MinStack();* obj.push(val);* obj.pop();* int param_3 = obj.top();* int param_4 = obj.getMin();*/
二,杨辉三角
. - 力扣(LeetCode)

分析:为了因用前面学习过的顺序表,这题我们采用顺序表解决,用顺序表模拟一个二维数组,注意顺序表模拟的二维数组不能简单通过下标访问元素
class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> ret=new ArrayList<>();List<Integer> list=new ArrayList<>();list.add(1);ret.add(list);for(int i=1;i<numRows;i++){List<Integer> row=new ArrayList<>();row.add(1);List<Integer> a= ret.get(i-1);for (int j = 1; j < i; j++) {int val1=a.get(j);int val2=a.get(j-1);row.add(val1+val2);}row.add(1);ret.add(row);}return ret;}
}
三,力扣150,逆波兰表达式求值
注:波兰表达式是一种能被计算机理解的式子
. - 力扣(LeetCode)

思路:遍历数组,先判断字符串是否是数字,如果是数字,则转化为数字进栈,否则,取出两个操作数,按照操作符用后取出的“+”“-”“*”或“/”后一个,最后栈里剩的便是最终答案
class Solution {public int evalRPN(String[] tokens) {Stack<Integer> st = new Stack();for (int i = 0; i < tokens.length; i++) {String str = tokens[i];if (o(str) == false) {int val = Integer.parseInt(str);st.push(val);} else {int val1 = st.pop();int val2 = st.pop();switch (str) {case "+":st.push(val2+val1);break;case "-":st.push(val2-val1);break;case "*":st.push(val2*val1);break;case "/":st.push(val2/val1);break;}}}return st.peek();}private boolean o (String s){if (s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")) {return true;}return false;}}
本期博客就到这里,谢谢大家
相关文章:
7月11日学习打卡,数据结构栈
大家好呀,本博客目的在于记录暑假学习打卡,后续会整理成一个专栏,主要打算在暑假学习完数据结构,因此会发一些相关的数据结构实现的博客和一些刷的题,个人学习使用,也希望大家多多支持,有不足之…...
数据结构第20节 快速排序以及优化
快速排序是一种非常高效的排序算法,由英国计算机科学家托尼霍尔(Tony Hoare)在1960年代发明。它使用分治法(Divide and Conquer)策略来把一个序列分为较小的部分,然后递归地排序这些部分。 快速排序的基本…...
3分钟理解超键、候选键、主键
1.超键 在关系模式中,能唯一标识实体实例的任何属性集 学生(学号,姓名,性别,专业编号,年龄) 通过学号可以找到一个学生的姓名、性别、专业号、年龄,但是通过姓名不一定能找到这些…...
Centos忘记密码,重置root密码
Centos忘记密码,重置root密码 操作环境:Centos7.6 1、选择包含rescue的选项,按e进入编辑模式 首先,我们需要重启系统,进入开机引导菜单界面。在这里,我们可以看到系统的内核版本和启动参数等信息。我们需…...
Android初学者书籍推荐
书单 1.《Android应用开发项目式教程》,机械工业出版社,2024年出版2.《第一行代码Android》第二版3.《第一行代码Android》第三版4.《疯狂Android讲义》第四版5.《Android移动应用基础教程(Android Studio 第2版)》 从学安卓到用安…...
安卓文件上传照片单张及多张照片上传实现
一、首先导入对应库 //网络请求库 implementation com.squareup.okhttp3:okhttp:3.9.0//Gson解析 implementation com.google.code.gson:gson:2.10.1 二、然后就是们实现上传方法 UploaderTool.java import android.util.Log;import com.google.gson.Gson;import java.io.File…...
小白学webgl合集-import.meta.url 和 new URL() bug
为什么使用 import.meta.url 和 new URL() 动态路径解析: 在 ESM(ECMAScript Modules)环境中,import.meta.url 提供了当前模块的完整 URL。结合 new URL(),你可以基于这个 URL 动态解析其他资源的路径。这样可以确保路…...
pico+unity3d开启彩色透视
1、点击游戏对象、点击XR、点击添加XR Origin,并把自带的摄像对象删除 2、添加脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; using Unity.XR.PXR;//引入xr对象 public class toushi : MonoBehaviour {// Start is called…...
python常用命令
文章目录 1. 安装模块 1. 安装模块 pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple (切换数据源)...
使用定时器消除抖动
问题:定时器中断和按键中断属于什么操作模式,轮询吗? 具体怎么实现 定时器中断 (判断) 时间参数 按键中断(修改) 中断 向量表.s文件 DCD SysTick_Handler …...
IOS热门面试题一
GCD(Grand Central Dispatch)是什么?如何在iOS中使用它? GCD(Grand Central Dispatch)是什么? GCD(Grand Central Dispatch)是苹果公司开发的一套多线程编程的API&…...
构建LangChain应用程序的示例代码:62、如何使用Oracle AI向量搜索和Langchain构建端到端的RAG(检索增强生成)pipeline
Oracle AI 向量搜索与文档处理 Oracle AI向量搜索专为人工智能(AI)工作负载设计,允许您基于语义而非关键词来查询数据。 Oracle AI向量搜索的最大优势之一是可以在单一系统中结合对非结构化数据的语义搜索和对业务数据的关系搜索。 这不仅功能强大,而且…...
ffmpeg转换MP4为gif命令
这里记录一下使用 ffmpeg去转化 gif 的一些快捷命令 # 直接转换 ffmpeg -i 222.mp4 -r 12 222.gif# 调色板优化处理 ffmpeg -i 222.mp4 -r 12 -vf "split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" 222.gif第二条命令的解释如下: split[s0][s1]&am…...
kotlin Flow 学习指南 (三)最终篇
目录 前言Flow生命周期StateFlow 替代LiveDataSharedFlow其他常见应用场景处理复杂、耗时逻辑存在依赖关系的接口请求组合多个接口的数据 Flow使用注意事项总结 前言 前面两篇文章,介绍了Flow是什么,如何使用,以及相关的操作符进阶ÿ…...
Memcached负载均衡:揭秘高效缓存分发策略
标题:Memcached负载均衡:揭秘高效缓存分发策略 在分布式缓存系统中,Memcached通过负载均衡技术来提高缓存效率和系统吞吐量。负载均衡确保了缓存请求能够均匀地分配到多个缓存节点上,从而防止任何一个节点过载。本文将深入探讨Me…...
【Python实战因果推断】31_双重差分2
目录 Canonical Difference-in-Differences Diff-in-Diff with Outcome Growth Canonical Difference-in-Differences 差分法的基本思想是,通过使用受治疗单位的基线,但应用对照单位的结果(增长)演变,来估算缺失的潜…...
ArcGIS中使用线快速构造成面的方法
准备工作:一个需要转化为面的封闭线;一个处于可编辑状态的面要素文件。 1.选中一个围合封闭成的线 2.点击高级编辑工具中的构造面小工具 3.弹出对话框,直接点确定即可 4.效果如下图: 特别注意:记得要把面图层编辑功能…...
Spring AOP的几种实现方式
1.通过注解实现 1.1导入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.1.6.RELEASE</version></dependency> 1.2定义注解 import java.lang.annotation.*;Targ…...
字节码编程bytebuddy之实现抽象类并并添加自定义注解
写在前面 本文看下使用bytebuddy如何实现抽象类,并在子类中添加自定义注解。 1:代码 1.1:准备基础代码 类和方法注解 package com.dahuyou.bytebuddy.cc.mine;import java.lang.annotation.ElementType; import java.lang.annotation.Re…...
LLM-阿里云 DashVector + ModelScope 多模态向量化实时文本搜图实战总结
文章目录 前言步骤图片数据Embedding入库文本检索 完整代码 前言 本文使用阿里云的向量检索服务(DashVector),结合 ONE-PEACE多模态模型,构建实时的“文本搜图片”的多模态检索能力。整体流程如下: 多模态数据Embedd…...
3个步骤掌握OBS多平台推流插件:告别重复操作,实现一键多平台直播同步
3个步骤掌握OBS多平台推流插件:告别重复操作,实现一键多平台直播同步 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp OBS多平台推流插件(obs-multi-r…...
胶片颗粒≠噪点!20年胶片扫描工程师首曝Midjourney底层噪声映射逻辑(RGB通道衰减比=1.03:0.97:1.12)
更多请点击: https://codechina.net 第一章:胶片颗粒≠噪点!20年胶片扫描工程师首曝Midjourney底层噪声映射逻辑(RGB通道衰减比1.03:0.97:1.12) 胶片颗粒是银盐晶体在显影过程中形成的物理性随机簇状结构,…...
从霍金难题到MESI协议:原子操作性能瓶颈的硬件根源与优化实践
1. 项目概述:从霍金的难题到现代CPU的协同困境 如果你写过并发程序,或者研究过Linux内核的同步机制,你一定对“原子操作”和“缓存一致性”这两个词不陌生。我们常常被告知,原子操作是昂贵的,因为它需要“锁总线”或者…...
区块链与计算机视觉融合:构建可信机器感知系统的架构与实践
1. 项目概述:当计算机视觉遇见区块链在人工智能的浪潮中,计算机视觉(CV)无疑是那颗最耀眼的明星之一。它让机器拥有了“看”和理解世界的能力,从医疗影像中精准定位病灶,到自动驾驶汽车识别路况,…...
Cursor Free VIP终极指南:5步轻松实现AI编程助手永久免费使用
Cursor Free VIP终极指南:5步轻松实现AI编程助手永久免费使用 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached y…...
内存计算技术如何优化基因组分析性能与能效
1. 内存计算技术如何重塑基因组分析格局在生物信息学领域,我们正面临着一个关键矛盾:一方面,随着测序技术的进步,基因组数据正以每年翻倍的速度增长;另一方面,传统计算架构的能效瓶颈日益凸显。我曾参与过一…...
终极解决方案:三步彻底卸载Windows系统中顽固的Microsoft Edge浏览器
终极解决方案:三步彻底卸载Windows系统中顽固的Microsoft Edge浏览器 【免费下载链接】EdgeRemover A PowerShell script that correctly uninstalls or reinstalls Microsoft Edge on Windows 10 & 11. 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeRem…...
第三篇:必知必会的5个核心斜杠命令(/help、/compact、/clear、/cost、/exit)
📌 标签:#斜杠命令 #会话管理 #效率工具 #必学Claude Code 的交互核心就是那几条斜杠命令。掌握它们,你就能像 Vim 高手一样行云流水地操控 AI。1. 为什么斜杠命令如此重要? Claude Code 的对话界面虽然看起来像普通聊天ÿ…...
Agentic AI生产落地的三大核心能力:状态管理、工具编排与可观测性
1. 这不是“选框架”的指南,而是帮你避开2025年Agentic AI项目里最致命认知陷阱的实操手册你点开这篇内容,大概率不是想听“LangChain很火”“LlamaIndex适合RAG”这种教科书式罗列。你手头可能正卡在一个真实场景里:要给客服系统加自主决策能…...
效率优化:把网申填表交给塔塔网申的简历代投,省下时间刷题
招聘季一到,后台一堆私信。本以为大家会问算法题、系统设计,结果点开一看——全在骂网申填表。有个读者给我算了一笔账:投了30家公司,每家填20分钟,就是10个小时。10个小时能干嘛?刷好几套LeetCode…...
