Java | Leetcode Java题解之第316题去除重复字母
题目:
题解:
class Solution {public String removeDuplicateLetters(String s) {boolean[] vis = new boolean[26];int[] num = new int[26];for (int i = 0; i < s.length(); i++) {num[s.charAt(i) - 'a']++;}StringBuffer sb = new StringBuffer();for (int i = 0; i < s.length(); i++) {char ch = s.charAt(i);if (!vis[ch - 'a']) {while (sb.length() > 0 && sb.charAt(sb.length() - 1) > ch) {if (num[sb.charAt(sb.length() - 1) - 'a'] > 0) {vis[sb.charAt(sb.length() - 1) - 'a'] = false;sb.deleteCharAt(sb.length() - 1);} else {break;}}vis[ch - 'a'] = true;sb.append(ch);}num[ch - 'a'] -= 1;}return sb.toString();}
}
相关文章:
Java | Leetcode Java题解之第316题去除重复字母
题目: 题解: class Solution {public String removeDuplicateLetters(String s) {boolean[] vis new boolean[26];int[] num new int[26];for (int i 0; i < s.length(); i) {num[s.charAt(i) - a];}StringBuffer sb new StringBuffer();for (in…...
【生成式人工智能-四-chatgpt的训练过程-pretrain预训练自督导式学习督导式学习】
大模型是怎么被训练出来的具有人类智慧的 阶段一训练-自我学习-具备知识训练资料self-supervised learning(自督导式学习) 阶段二-怎么让模型具备人的智慧supervised learning 督导式学习预训练pretrain为什么要用预训练的模型?Adapter逆向工…...
fabricjs 实现图像的二值化功能
一、效果图 二、图像二值化的作用 二值化是图像处理中常用的一种方法,其作用是将灰度图像转换为二值图像,即将图像中的像素点根据其灰度值分成两类:黑色和白色。这种处理方法可以帮助我们更清晰地识别图像中的目标,简化图像的复杂…...
红黑树的概念和模拟实现[C++]
文章目录 红黑树的概念一、红黑树的性质红黑树原理二、红黑树的优势和比较 红黑树的模拟实现构建红黑树的数据结构定义节点的基本结构和初始化方式插入新节点插入新节点的颜色调整颜色和结构以满足红黑树性质 红黑树的应用场景 红黑树的概念 一、红黑树的性质 红黑树是一种自平…...
常见中间件漏洞(四、Apache合集)
目录 四、Apache 4.1 CVE-2021-41773 漏洞简介 影响版本 环境搭建 漏洞复现 四、Apache 4.1 CVE-2021-41773 Apache HTTP Server 路径穿越漏洞 漏洞简介 该漏洞是由于Apache HTTP Server 2.4.49版本存在目录穿越漏洞,在路径穿越目录<Directory/>Require all gra…...
【Hot100】LeetCode—31. 下一个排列
目录 题目1- 思路2- 实现⭐31. 下一个排列——题解思路 3- ACM 实现 题目 原题连接:31. 下一个排列 1- 思路 技巧题,分为以下几个步骤 ① 寻找拐点: i 1 :出现 nums[i1] > nums[i] ,则 i 1 就是拐点 从右向左遍…...
【线性代数】【二】2.5 零空间与非齐次线性方程组的解集
文章目录 前言一、齐次线性方程组的解集二、非齐次线性方程组的解集。2.1 矩阵的列秩等于列数时2.1 矩阵的列秩小于列数时 总结 前言 上文讲到矩阵的零空间,即线性方程组 A x 0 \bm{Ax}\bm{0} Ax0的解集。那么容易联想到的一个问题是, A x b \bm{Ax}\…...
“炎”值加码,数据机房“中暑“罢工,怎么破?
又是热到汗流浃背、头晕脑胀的一天…江浙沪等地正在经历今年来最强高温“烤验”!没有最热,只有更热,40摄氏度的高温好像越来越多了!最近东北货车司机热到报警,获救后怒赞“杭州人好啊!”,“先坐…...
机器学习常见模型
1、线性模型 线性模型是机器学习最基本的算法类型,它试图学到一个通过多个特征(属性)计算的线性组合来预测的函数,简单的线性回归形式如yaxb,其中,x代表特征,而y代表结果,一旦a和b的…...
基于MATLAB的神经网络的农业病虫害损失预测
基于神经网络的农业病虫害损失预测 一、前言 鉴于农业病虫害经济损失的预测具有较强的复杂性和非线性特性,设计了一种新型的GRNN预测模型,对农业病虫害经济损失进行预测。该模型基于人工神经网络捕捉非线性变化独特的优越性,在神经网络技术和…...
速记Java八股文——网络编程篇
前言 分类汇总 30 常见的 网络编程篇 经典后端面试题,并对题目进行了精炼总结,旨在帮助大家高效记忆,在面试中游刃有余,不至于陷入词穷的窘境。 网络编程篇 TCP 和 UDP 的区别? TCP:面向连接,可…...
Debian | Vscode 安装与配置 C 环境
Debian | Vscode 安装与配置 C 环境 安装 vscode sudo apt update sudo apt install software-properties-common apt-transport-https curlcurl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -sudo add-apt-repository "deb [archamd64…...
UWB实操:使用 litepoint 定制UWB信号,BPRF,HPRF,mean PRF,SFD,gap,PSDU,STS
使用 litepoint 定制UWB信号 预备知识: Technology选择UWBP VSG -> WaveGen ->UWBP Wave settings G...
写一个gradio录音的webui界面并展现波形图
如图下:这是需求 要创建一个 Gradio 录音的 Web UI 界面,你可以使用 Gradio 的 Audio 组件来实现。下面是一个简单的示例,展示了如何创建一个 Gradio 应用程序,其中包含一个录音按钮,用户可以录制音频并提交给服务器处…...
GitHub每日最火火火项目(8.6)
项目名称:bghira / SimpleTuner 项目介绍:SimpleTuner是一个通用的微调工具包,主要面向Stable Diffusion 2.1、Stable Diffusion 3、DeepFloyd和SDXL等模型。它旨在为这些模型提供一种方便的方式进行微调,以适应不同的应用场景和需…...
01【功能项目】之【主角射线点击导航】
首先创建一个Unity3D的项目 打开资源商店添加一个人物模型 选择一个免费资源主角添加至项目中 在unity中打开后点击下载包 点击导入包 导入成功后会出现在资源包Assets下 右键创建地面 设置地面尺寸 创建一个材料方便给地面调配颜色 选择材料的颜色 将材质拖拽给地面组为组件 将…...
Prometheus监控组件在SpringBoot项目中使用实践
Prometheus监控组件在SpringBoot项目中使用实践 时间:2024/7/29 背景:本人最近参与的一个项目,要监控远程软硬件以及本地软硬件,实现远程监控以及告警功能。 开发环境: JDK1.8,Maven,PostgreS…...
蒲公英G5-2250路由器之收集各种硬件的配置页面
前言:此篇文章是为了更好的让大家了解各个路由器的后台设置页面具体有哪些功能,更加的清晰直观!(如有雷同纯属巧合,如有侵权联系删除!) 云管理平台 本地地址IP/oraybox/login.html 本地配置页…...
前端使用 Konva 实现可视化设计器(19)- 连接线 - 直线、折线
本章响应小伙伴的反馈,除了算法自动画连接线(仍需优化完善),实现了可以手动绘制直线、折线连接线功能。 请大家动动小手,给我一个免费的 Star 吧~ 大家如果发现了 Bug,欢迎来提 Issue 哟~ github源码 gitee…...
秃姐学AI系列之:丢弃法 + 代码实现 | 数值稳定性
丢弃法 动机 一个好的模型需要对输入数据的扰动鲁棒 使用有噪音的数据等价于Tikhonov正则丢弃法:在层之间加入噪音 正则都可以理解为它在控制模型不要过拟合,不要太大 丢弃法不在数据中增加噪音,转而在层中增加噪音,所以丢弃法…...
MySQL主从服务器
主从MySQL服务器配置过程如下: 1. 在主服务器上执行以下操作: # 安装必要的软件包 yum -y install ntpdate rsync # 同步时间 ntpdate cn.ntp.org.cn # 创建MySQL安装脚本 vim mysql.sh 将以下内容粘贴到mysql.sh文件中: #!/bin/ yum …...
微信小程序教程011-2:京西购物商城实战之TabBar实现
2、tabBar 2.0 创建tabBar分支 运行如下命令,基于master分支,创建本地tabBar子分支,用来开发和tabBar相关的功能 git checkout -b tabbar2.1 创建tabBar页面 在pages目录中,创建首页(home)、分类(cate)、购物车(cart)、我的(my)这4个tabBar页面,在HBuilderX中…...
Hikari连接池 最大连接数与最小空闲连接数配置多少合适?
spring:datasource: # 数据源的相关配置type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCPdriver-class-name: com.mysql.jdbc.Driver # mysql驱动url: jdbc:mysql://localhost:3306/t…...
【Bugku】Web系列第二更~
1.你必须让他停下 查看源代码,一直刷新,直到看见flag 2.矛盾 构造一个?num1[字母,随便写到最后都会被PHP转化成0] 这里利用的是PHP对数字和字符串比较的时候的一个特性,他会试图把字符串转化为数字,所以1XXX转化到最后…...
C++篇:入门(2)
引用 引用的概念以及定义: 在C中,引用(Reference)是一个非常重要的概念又可以称之为取别名,它允许我们创建一个已存在对象的别名。引用提供了一种机制,通过它可以直接访问另一个变量、对象或函数的值&#…...
学习LLM大模型,不容错过的《大语言模型:基础与前沿》(附PDF下载)
前言 就目前来看,大量工作正逐渐被大型语言模型(LLM)所替代,就比如文本自动生成、智能客服、数据分析和预测等多个领域。这暗示着LLM正逐步成为支撑社会运作的关键基础设施。未来,比Devin更为智能的LLM将会问世。我们…...
LSV实验——部署DR模式集群
目录 一、实验环境 二、配置 1、LVS 2、router 3、client 4、RS 三、配置策略 1.Director服务器采用双IP桥接网络,一个是VPP,一个DIP 2.Web服务器采用和DIP相同的网段和Director连接 3.每个Web服务器配置VIP 4.每个web服务器可以出外网 一、实验环…...
uniApp跳转外链
创建一个新的页面,在该页面中使用web-view组件加载外部URL:pages/web-view/web-view <template><view><uni-list><uni-list-itemtitle"打开外部链接"click"openExternalLink"></uni-list-item></…...
Flask 路由与错误处理详细教程(第二阶段)
目录 Flask 路由与错误处理详细教程第一部分:路由1.1 定义静态路由与动态路由1.2 使用路由转换器1.3 为路由添加 HTTP 方法 第二部分:错误处理2.1 使用错误处理装饰器2.2 自定义 404 页面和其他 HTTP 错误2.3 自定义其他 HTTP 错误页面 第三部分…...
Linux学习笔记:Linux基础知识汇总(个人复习版)
常用命令: 1、ls -a:显示所有文件(包括隐藏文件),简洁版 -l:显示所有文件,详细版 -R:显示所有文件以及子目录下文件,简洁版 可以搭配使用。 2、netstat -i&#x…...
Mysql原理与调优-InnoDB页结构
目录 1.绪论 2.Mysql的数据页组成 2.1 基本组成 2.1 文件头 2.2 页头部(Page Header) 3.3 infimum supremum 3.4 用户记录 和 空闲空间 3.4.1 用户插入数据步骤 3.4.2 删除数据 3.5 页目录 3.5.1 插入时维护槽的步骤 3.5.2 查询元素的步骤 …...
23种设计模式(持续更新中)
参考链接干货分享 | 《设计模式之美》学习笔记 - 知乎 (zhihu.com) 总体来说设计模式分为三大类: 创建型模式,共5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共7种:适配器模式、…...
算法 二
求中点 LR,可能溢出 除以2,等同于右移一位 递归、递归的时间复杂度 母问题的规模 子问题的规模,且都相等 调用次数 不用展开看,就看一层。 归并排序...
实习-文档
相机传感器对于自动驾驶至关重要,由于雨、冰、雾、泥土、灰尘积累等各种原因,相机能见度会受到很大影响。在某些情况下,如大雨、雪雾和越野驾驶,环境感知模块不能提供准确的地图,这反过来又会影响轨迹规划,并且由于 AD 系统做出的不正确决策,可能会全面构成乘客的致命风…...
Python爬虫技术 第29节 实战案例分析
Python是一种非常灵活且功能强大的编程语言,被广泛应用于各种领域,包括数据分析、Web开发、自动化脚本、科学计算等。 1. 数据分析与可视化 案例背景: 假设你是一家电商公司的数据分析师,需要分析公司产品的销售数据,…...
esp32通过smartconfig连接wifi
esp32通过smartconfig连接wifi整体设计流程 1.流程图 2.代码实现 #include <WiFi.h> #include <SPIFFS.h>// 定义存储文件的文件名 const char* wifi_config_file "/wifi_config.txt";// 定义变量存储 WiFi 信息 // 1)不填写为空时通过sma…...
c++STL中list介绍,模拟实现和list与vector对比
目录 前言 : 1. list的介绍及使用 1.1list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 1.2.6 list的迭代器失效 2. list的模拟实现 3. list与vector的对…...
★WIN10计算器程序员版的使用说明
主界面 拉动边框的角: 1.进制转换 HEX(hexadecimal):显示十六进制,DEC(decimal):显示十进制,OCT(octonary):显示八进制,BIN(binary):显示二进制 例如: 选中HEX 0~9,A…...
如何设置PowerBI报告展示在屏幕的大小?
问题描述: 业务部门同事反馈,将开发的Power BI报告发布到Power BI服务站点后,用户通过不同尺寸的电子设备打开报告看到的效果不一样,如用PC打开报告可以在一屏中完整显示所有报告可视化组件如图: 但是用手机或者PAD类小尺寸电子设…...
win10批量修改文件名,记得保存文件
打开需要修改的文件夹新建文本内容如下 DIR . /B>文件列表.csv 并另存为bat文件,注意编码,双击bat文件生成Excel 打开Excel 填写你的文件名至B列,如我需要在文件名前面都加上spi5_公式D1&A1 C列输入"REN "&"""&q…...
【Python教程】如何使用Jupyter Notebook
Jupyter Notebook 是一个基于 Web 的交互式计算环境,支持 Python、R、Julia 等多种编程语言。它是数据科学家、分析师和研究人员的常用工具。Jupyter Notebook 提供了一个强大的用户界面,可以通过笔记本格式进行代码编写、运行、调试、可视化和文档化。 …...
入参是字符串时动态sql用@Param(“param“)里的param;入参查询类时,动态sql用@Param(“param“)里的 param.属性
用了Param(“param”) ,那么Param里的值"param" 就要用在sql语句里。建议 写成 Param(“name”) String name ,Param里的name和入参变量名保存一致。方便看代码。实际上sql里的name 就是Param(“name”) 里的name。 如果 入参是Param 类&#…...
如何在本地正确部署Dify服务
前言 本文是该专栏的第49篇,后面会持续分享python的各种干货知识,值得关注。 Dify是一个开源的LLM(大型语言模型)应用开发平台,旨在为开发者提供从Agent构建到AI workflow编排、RAG检索、模型管理等全方位的能力,从而轻松构建和运营生成式AI原生应用。 在本文中,笔者将…...
【Python】Django Web 框架
一、常用的Web开发框架 1.Django Django是一个由Python写成的开放源代码的Web应用框架。这套框架的主要目标是使开发复杂、数据库驱动的网站变得简单。Django注重组件的重用性和“可拔插性”、敏捷开发和DRY(Dont Repeat Yourself)法则 2.Flask Flask是一个微型的Python开发…...
单机部署ELK + Filebeat 收集应用日志
目录 前言一、ELK是什么?二、系统环境(CentOS 7)(2C4G的机器。。。)三、安装步骤3.1 安装ElasticSearch3.1.1 解压到/usr/local3.1.2 修改jvm堆配置(可选,测试服务器内存低)3.1.3 修…...
PXE批量安装操作系统
PXE批量安装操作系统 系统环境rhedhat7.9关闭vmware内的dhcp服务 kickstart自动安装脚本的制作 在rhel7系统中提供图形的kickstart制作方式 在rhel8中已经把图形的工具取消,并添加到rhn网络中 在rhel8中如果无法通过rhn网络制作kickstart,可以使用模板…...
【多线程-从零开始-肆】线程安全、加锁和死锁
进程状态 进程状态: 就绪:正在 CPU 上执行,或者随时可以去 CPU 上执行阻塞:暂时不能参与 CPU 的执行 Java 的线程,对应状态做了更详细的区分,不仅仅是就绪和阻塞了 六种状态: NEW 当前 Thread…...
【ARM】应用ArmDS移植最小FreeRTOS系统
【更多软件使用问题请点击亿道电子官方网站】 一、文档背景 FreeRTOS(Free Real-Time Operating System)是一个开源的实时操作系统内核,广泛应用于嵌入式系统。它具有小巧、灵活、低功耗等特点,支持多任务调度、信号量、队列等实…...
易捷OA协同办公系统 ShowPic接口任意文件读取漏洞复现 [附POC]
文章目录 易捷OA协同办公系统 ShowPic接口任意文件读取漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现易捷OA协同办公系统 ShowPic接口任意文件读取漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相…...
(这是让文心一言生成的文心一言指令博客)3分钟学会写文心一言指令:解锁AI创作新境界
3分钟学会写文心一言指令:解锁AI创作新境界 在这个AI技术日新月异的时代,文心一言作为领先的智能语言模型,正逐步改变着我们的创作与交流方式。无论是撰写文章、创作诗歌,还是进行日常对话,文心一言都能凭借其强大的语…...