当前位置: 首页 > news >正文

刷题笔记19——优势洗牌和去重保持字典序

摆出无比亲密的态度,装模作样地与对方套近乎,频繁地联系对方。这都说明他们并不相信自己得到了对方的信赖,若是互相信赖,便不会依赖亲密的感觉。在外人看来,反而显得冷淡。 ——尼采《人性的,太人性的》

hash拉链法

list和hash的基本用法八百年都学不会

  • list
    • add
    • remove(根据下表进行删除)
    • Collections.swap(nums, index, nums.size() - 1); 进行交换
  • hash
    • containsKey 判断是否存在
    • get
    • put
    • remove
  • set
    • add
    • contains
  • stack 栈
    • Stack<Character> res = new Stack<>();
      -size
  • String
    • length()

870. 优势洗牌

  • 最重要的是学会一些排序的方法
class Solution {public int[] advantageCount(int[] nums1, int[] nums2) {// 排序之后的规则就是,遇弱则强,遇强送人头int len = nums1.length;int[] res = new int[len];// 默认为升序Arrays.sort(nums1);// 降序PriorityQueue<int[]> maxpq = new PriorityQueue<>((int[] pair1,int[] pair2)->{return pair2[1]-pair1[1];});for(int i=0;i<len;i++){maxpq.offer(new int[]{i,nums2[i]});}int left = 0;int right = len-1;for(int i=0;i<len;i++){int[] pair = maxpq.poll();int m = pair[0],maxval = pair[1];if(nums1[right]>maxval){res[m] = nums1[right];right--;}else{res[m] = nums1[left];left++;}}return res;}
}

1081. 不同字符的最小子序列(栈的使用)

316. 去除重复字母

  • 如果已经放进去了,那说明在遍历到第一个的时候,尽管后边还有一个备选,但是并没有被弹出,满足大小关系,所以遍历后边这个的时候就直接跳过就好了
  • 如果是当前元素是新的元素,那就去检查
    • 满足大小关系吗?满足的话直接放,不满足的话就要看前边的元素能不能惹得起,如果前边元素是独苗,那就不能动,因为本身当前元素就该在前边元素后边,如果不是独苗,那就可以当前边元素弹出,把当前元素压入,反正后边有个替补在而且替补元素本身就比当前元素大,这个元素可以在后边压入而且不会丢掉。
class Solution {public String removeDuplicateLetters(String s) {Stack<Character> res = new Stack<>();for(int i=0;i<s.length();i++){char c = s.charAt(i);if(res.contains(c)){continue;}while(!res.isEmpty() && s.indexOf(res.peek(),i) != -1 && res.peek() > c){res.pop();}res.push(c);}char[] temp = new char[res.size()];for(int i = res.size()-1;i>=0;i--){temp[i] = res.pop();}return new String(temp);}
}

相关文章:

刷题笔记19——优势洗牌和去重保持字典序

摆出无比亲密的态度&#xff0c;装模作样地与对方套近乎&#xff0c;频繁地联系对方。这都说明他们并不相信自己得到了对方的信赖&#xff0c;若是互相信赖&#xff0c;便不会依赖亲密的感觉。在外人看来&#xff0c;反而显得冷淡。 ——尼采《人性的&#xff0c;太人性的》 ha…...

星际争霸之小霸王之小蜜蜂(十一)--杀杀杀

系列文章目录 星际争霸之小霸王之小蜜蜂&#xff08;十&#xff09;--鼠道 星际争霸之小霸王之小蜜蜂&#xff08;九&#xff09;--狂鼠之灾 星际争霸之小霸王之小蜜蜂&#xff08;八&#xff09;--蓝皮鼠和大脸猫 星际争霸之小霸王之小蜜蜂&#xff08;七&#xff09;--消失…...

腾讯云免费SSL证书申请流程_每年免费50个HTTPS证书

2023腾讯云免费SSL证书申请流程&#xff0c;一个腾讯云账号可以申请50张免费SSL证书&#xff0c;免费SSL证书为DV证书&#xff0c;仅支持单一域名&#xff0c;申请腾讯云免费SSL证书3分钟即可申请成功&#xff0c;免费SSL证书品牌为TrustAsia亚洲诚信&#xff0c;腾讯云百科分享…...

C#上位机开发目录

C#上位机序列1: 多线程&#xff08;线程同步&#xff0c;事件触发&#xff0c;信号量&#xff0c;互斥锁&#xff0c;共享内存&#xff0c;消息队列&#xff09; C#上位机序列2: 同步异步(async、await) C#上位机序列3: 流程控制&#xff08;串行&#xff0c;并行&#xff0c…...

网络通信基础

IP地址 使用ip地址来描述网络上一个设备所在的位置 端口号 区分一个主机上不同的程序,一个网络程序,在启动的时候,都需要绑定一个或者多个端口号,后续的通信过程都需要依赖端口号来进行展开的,mysql默认的端口号是3306 协议 描述了网络通信传输的数据的含义,表示一种约定,…...

框架分析(10)-SQLAlchemy

框架分析&#xff08;10&#xff09;-SQLAlchemy 专栏介绍SQLAlchemy特性分析ORM支持数据库适配器事务支持查询构建器数据库连接池事务管理器数据库迁移特性总结 优缺点优点强大的对象关系映射支持多种数据库灵活的查询语言自动管理数据库连接支持事务管理易于扩展和定制 缺点学…...

Linux/Windows中根据端口号关闭进程及关闭Java进程

目录 Linux 根据端口号关闭进程 关闭Java服务进程 Windows 根据端口号关闭进程 Linux 根据端口号关闭进程 第一步&#xff1a;根据端口号查询进程PID&#xff0c;可使用如下命令 netstat -anp | grep 8088&#xff08;以8088端口号为例&#xff09; 第二步&#xff1a;…...

基于springboot实现了后台定时统计数据报表并将数据生成excel文件作为附件,然后通过邮件发送通知的功能

概述 本例子基于springboot实现了后台定时统计数据报表并将数据生成excel文件作为附件&#xff0c;然后通过邮件发送通知的功能。 详细 一、准备工作 1、首先注册两个邮箱&#xff0c;一个发送邮箱&#xff0c;一个接收邮箱。 2、发送邮箱开启IMAP/SMTP/POP3服务&#xff0c…...

opencv 提取选中区域内指定hsv颜色的水印

基于《QT 插件化图像算法研究平台》做的功能插件。提取选中区域内指定hsv颜色的水印。 《QT 插件化图像算法研究平台》有个HSV COLOR PICK功能&#xff0c;可以很直观、方便地分析出水印 的hsv颜色&#xff0c;比如, 蓝色&#xff1a;100,180,0,255,100,255。 然后利用 opencv …...

如何理解张量、张量索引、切片、张量维度变换

Tensor 张量 Tensor&#xff0c;中文翻译“张量”&#xff0c;是一种特殊的数据结构&#xff0c;与数组和矩阵非常相似。在 PyTorch 中&#xff0c;使用张量对模型的输入和输出以及模型的参数进行编码。 Tensor 是一个 Python Class。PyTorch 官方文档中定义“Tensor&#xff0…...

基于SpringBoot的汽车租赁系统

基于SpringBootVue的汽车租赁系统&#xff0c;前后端分离 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 角色&#xff1a;管理员、业务员、用户 管理员 用户管理…...

怎么做手机App测试?app测试详细流程和方法介绍

APP测试 1、手机APP测试怎么做&#xff1f; 手机APP测试&#xff0c;主要针对的是android和ios两大主流操作系统&#xff0c;主要考虑的就是功能性、兼容性、稳定性、易用性&#xff08;也就是人机交互&#xff09;、性能。 手机APP测试前的准备&#xff1a; 1.使用同类型的…...

【计算机网络】网络编程接口 Socket API 解读(1)

Socket 是网络协议栈暴露给编程人员的 API&#xff0c;相比复杂的计算机网络协议&#xff0c;API 对关键操作和配置数据进行了抽象&#xff0c;简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具&#xff0c;和其他平台&#xff08;比如 os-x …...

IGES在线查看与转换

IGES 格式最初由美国空军开发并于 1980 年发布。该格式是集成计算机辅助制造 (ICAM) 项目的产品,该项目旨在通过集成操作来降低制造成本。 IGES 文件旨在允许航空航天相关设计在不同平台上传输,同时将数据丢失降至最低。 在 IGES 格式出现之前,不同公司创建的 CAD 和计算机…...

【Vue3-Vite】Vite配置--路径别名配置

路径别名配置 使用 代替 src Vite配置 // vite.config.ts import {defineConfig} from vite import vue from vitejs/plugin-vueimport path from pathexport default defineConfig({plugins: [vue()],resolve: {alias: {"": path.resolve("./src") // …...

道可云元宇宙每日资讯|第二届世界元宇宙大会将在嘉定安亭举行

道可云元宇宙每日简报&#xff08;2023年9月6日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 第二届世界元宇宙大会将于9月20日在嘉定安亭举行 元起嘉定&#xff0c;虚实相生&#xff0c;产业赋能。由中国仿真学会、中国指挥与控制学会和北京理工大学共同主办&a…...

Python for 循环语句

Python for循环可以遍历任何序列的项目&#xff0c;如一个列表或者一个字符串。 语法&#xff1a; for循环的语法格式如下&#xff1a; for iterating_var in sequence:statements(s) 流程图&#xff1a; ​ 实例 #!/usr/bin/python # -*- coding: UTF-8 -*- for letter in …...

iOS脱壳之frida-ios-dump

frida-ios-dump介绍 该工具基于frida提供的强大功能通过注入js实现内存dump然后通过python自动拷贝到电脑生成ipa文件&#xff0c;适合现iOS11版本之后的越狱手机使用。 下载 https://github.com/AloneMonkey/frida-ios-dump环境安装 电脑环境安装 win和Mac 环境一样都是…...

rust中的reborrow和NLL

reborrow 我们看下面这段代码 fn main() {let mut num 123;let ref1 &mut num; // 可变引用add(ref1); // 传递给 add 函数println!("{}", ref1); // 再次使用ref1 }fn add(num: &mut i32) {println!("{}", *num); }我们…...

Java设计模式:一、六大设计原则-04:迪米特法则

文章目录 一、定义&#xff1a;迪米特法则二、模拟场景&#xff1a;迪米特法则原则三、违背方案&#xff1a;迪米特法则原则3.1 工程结构3.2 学生、老师、校长类3.2.1 学生类3.2.2 老师类3.2.3 校长类 3.3 单元测试 四、改善代码&#xff1a;迪米特法则原则4.1 工程结构4.2 学生…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...