leetcode够用之java语法
常用方法
Arrays.sort()排序
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] numbers = {9, 2, 5, 1, 7, 3};Arrays.sort(numbers);System.out.println(Arrays.toString(numbers)); // 输出: [1, 2, 3, 5, 7, 9]}
}
获取str中的第i-1个字符
str.charAt(i);
String[] str = {"abc","def"};
System.out.println(str[0].charAt(0));
//输出 a
去除字符串str开头和末尾的空格
str.trim()
substring截取字符串str.subtring(从此下标,往后要这么多个)
String[] str = {"abc","def"};
System.out.println(str[0].substring(0,3));
//输出abc
判断字符串某位是不是数字
Character.isDigit(s.charAt(i))
//true 或者 false
######删除字符串中的某一字符(str得是StringBuilder或StringBuffer)
str.deleteCharAt(i);
把String类型转换为StringBuilder或StringBuffer
String str = "Hello, StringBuilder!";
StringBuilder stringBuilder = new StringBuilder(str);
char[] arr = s.toCharArray(); 这段代码是将字符串s中的每个字符依次提取出来,然后把这些字符存储到字符数组arr中。
判断ch中是否含有"aeiouAEIOU"中的一个
public boolean isVowel(char ch) {return "aeiouAEIOU".indexOf(ch) >= 0;}
调试模式时,高亮的行,是将要执行的语句(还未执行)
ctrl+shift+F8 查看程序所有断点
IDEA块缩进:
tab
shift+tab
String.toCharArray() 是一个内置的方法,用于将字符串(String 类型)转换为字符数组(char[] 类型)。这个方法非常有用,当你需要直接访问或操作字符串中的每个字符时,它可以提供便利。(java中的字符串String是不可变的,相比之下,StringBuffer(线程安全) 和 StringBuilder(性能优) 类提供了可变的字符串操作。)
char[] charArray = someString.toCharArray();
例子👇
public class Main {public static void main(String[] args) {String exampleString = "Hello, World!";char[] charArray = exampleString.toCharArray();// 打印字符数组for (char ch : charArray) {System.out.print(ch + " ");}}
}
// 正则匹配连续的空白字符作为分隔符分割(s为String)List<String> wordList = Arrays.asList(s.split("\\s+"));
// 反转数组
Collections.reverse(wordList);
Math.min和Math.max
比较两个或多个数值,并返回其中的最小值或最大值
例子👇
Math.min(leftMin[i - 1], nums[i]);
Math.max(rightMax[i + 1], nums[i]);
统计数组中的累加和👇
public int pivotIndex(int[] nums) {int total = Arrays.stream(nums).sum();
数组计长用.length 字符串计长用.length()
单词反转👇:
//输入:s = "the sky is blue"
//输出:"blue is sky the"
class Solution {public String reverseWords(String s) {// 除去开头和末尾的空白字符s = s.trim();// 正则匹配连续的空白字符作为分隔符分割List<String> wordList = Arrays.asList(s.split("\\s+"));Collections.reverse(wordList);return String.join(" ", wordList);}
}
哈希表(快速查询)
HashMap<Integer, Integer> cnt = new HashMap<>();
常用方法
- put(K key, V value):向
HashMap中添加一个键值对。如果键已存在,则用新值替换旧值。 - get(Object key):根据键获取对应的值。如果键不存在,返回
null。 - remove(Object key):根据键移除键值对。
- clear():清空
HashMap中的所有映射。 - size():返回
HashMap中的键值对数量。 - containsKey(Object key):判断
HashMap是否包含指定的键。 - containsValue(Object value):判断
HashMap是否包含指定的值。
hashmap.merge(key, value, remappingFunction)
把两个值处理之后的结果作为value去更新map中以key为键的值,最后再将这个值返回给调用者。
merge方法的第三个参数是一个BiFunction,它接收两个参数:当前键对应的旧值(如果存在)和你试图合并的新值,并返回一个结果值作为合并后的值。这个函数的设计完全取决于你的需求,你想怎么实现都可以,只要符合函数的签名要求即可。
注:hashmap 是 HashMap 类的一个对象。
参数说明:
key - 键
value - 值
remappingFunction - 重新映射函数,用于重新计算值
Iterator迭代器
不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。——阿里巴巴开发手册第一章第十一条强制约规
Iterator接口包含了三个主要方法:
hasNext():检查是否还有更多的元素可以迭代。next():返回迭代的下一个元素。remove():从底层集合中移除迭代器返回的最后一个元素。
public static void main(String[] args) {List<String> names = new ArrayList<>();names.add("Alice");names.add("Bob");names.add("Charlie");Iterator<String> iterator = names.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}
Lambda表达式
类似JS中的箭头函数
(parameters) -> { statements; }
相关文章:
leetcode够用之java语法
常用方法 Arrays.sort()排序 import java.util.Arrays;public class Main {public static void main(String[] args) {int[] numbers {9, 2, 5, 1, 7, 3};Arrays.sort(numbers);System.out.println(Arrays.toString(numbers)); // 输出: [1, 2, 3, 5, 7, 9]} }获取str中的第…...
pdf文件怎么改变大小?在线快速压缩pdf的方法
pdf作为一种常用的文件格式,使用这种文件类型的好处在于不仅拥有更好的兼容性,还可以设置密码来保证安全性,防止未授权用户查看内容,所以现在导出文件展示都会采用这种格式的来做内容展示。当遇到pdf文件过大问题时,想…...
inferCNV:scRNA-seq数据推断染色体拷贝数变化
inferCNV分析简介 inferCNV用于探索肿瘤单细胞RNA-Seq 数据,以确定体细胞大规模染色体拷贝数改变的证据,例如整个染色体或大片段染色体的增益或缺失。这是通过与一组参考“正常”细胞(这里的正常细胞可自行定义)进行比较…...
银河麒麟操作系统通过首批软件供应链安全能力认证
麒麟软件产品供应链安全能力获双重肯定!5月30日,经北京赛迪认证中心评估,银河麒麟高级服务器操作系统V10和银河麒麟桌面操作系统V10成为首批获得软件供应链安全能力认证产品,并在操作系统类产品中名列前茅。 软件供应链安全能力评…...
【MySQL】数据库介绍|数据库分类|MySQL的基本结构|MySQL初步认识|SQL分类
目录 数据库介绍 什么是数据库 数据库分类 1.关系型数据库(RDBMS): 2.非关系型数据库: MySQL要学啥 MySQL初步认识 SQL分类 💡推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风…...
2024年6月11日 (周二) 叶子游戏新闻
万能嗅探: 实测 网页打开 某视频号、某音、某红薯、某站,可以做到无水印的视频和封面下载功能哦,具体玩法大家自行发挥吧。 WPS免登录一键修改器: 去除烦人的登录且能正常使用 日本一首部游戏《拼图世界》上架Steam 30年PS名作日本游戏厂商日本一的首部品…...
JavaSE----类和对象(中)
5. 对象的构造及初始化 5.1 如何初始化对象 通过前面知识点的学习知道,在Java方法内部定义一个局部变量时,必须要初始化,否则会编译失败。 public static void main(String[] args) {int a;System.out.println(a); }// Error:(26, 28) jav…...
STC8增强型单片机进阶开发--OLED显示器(SPI)
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…...
在CSS中,可以使用 float 属性来设置元素浮动
在CSS中,可以使用float属性来设置元素浮动。float属性有三个值:left、right和none。 float: left;:将元素浮动到左侧。float: right;:将元素浮动到右侧。float: none;:取消元素的浮动(默认值)。…...
wordpress主题开发
科普一:wordpress 是一套用 php 这个语言写的CMS后台管理系统,即我们大家的 wordpress 网站后台是一样的,能体现我们网站外观不同的地方就在于wordpress主题(即皮肤),而这个主题的基本构成是 htmlcssjavasc…...
Elasticsearch 认证模拟题 - 17
这两道题目非常具有代表性,分别是跨集群复制和跨集群检索,需要相应的 许可 这里在虚拟机上搭建集群完成这两道题目,这里补充一下 elasticsearch 和 kibana 的配置文件 # elasticsearch.yml cluster.name: cluster2 node.name: cluster2-node…...
Swift 中更现代化的调试日志系统趣谈(一)
概述 昨天凌晨苹果刚刚发布了 WWDC2024 一系列新视频,这标志着苹果开发的一只脚已迈入人工智能(Apple Intelligence)的崭新时代。即便如此,我相信不少秃头码农们还在使用一些“远古简陋”的调试方法来剖析 2142 年的代码。 不过别担心,这一切将在小伙伴们学完本系列博文后…...
深入理解Java中的SPI机制
1. 简介 SPI(Service Provider Interface) 是Java提供的一种为服务框架提供服务实现的机制。它允许框架在运行时动态地发现服务的实现,从而实现模块化设计。在Java中,SPI机制主要用于解耦API和实现,使得应用程序可以在…...
2、python 基础学习总结
文章目录 一、python 标识符和变量命名规则1、python 标识符2 python 变量和变量命名规则 二、数据类型2.1 Numbers(数字类型)2.2 String(字符串类型)2.2.1 单引号、双引号、三引号字符串之间的区别2.2.2 转义字符 在这里插入图片…...
线程的状态!!!
NEW:(初始状态) 线程对象已经创建,但尚未启动。此时,线程还没有开始执行。 RUNNABLE:(运行状态) 线程已经启动并且正在运行,或者准备好运行,但可能由于其他线…...
Hsah碰撞(冲突)是什么?如何解决?
Hash冲突:两个不同的对象经过hash计算后得到的hash值相同,导致冲突。 解决方法: 1、开放地址法:在哈希表中寻找其他的空闲位置来存储冲突的元素。 2、拉链法:拉链法的基本思路是在每个哈希槽中存储一个链表。当发生…...
doc 和 docx 文件的区别
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…...
泛微OA E9 浏览框显示的数据根据表单字段过滤
一、实现效果:如图所示,字段“物品名称”浏览框显示的数据根据“类型”字段进行过滤。 二、实现方法: 1、建模引擎-应用建模-浏览框-浏览框列表中单击“办公耗材”-“浏览框列表”-“操作”-“编辑” 2、sql语句中根据OA自带是示例增加where…...
AIGC涉及到的算法(一)
目录 1. 生成对抗网络(GAN) 2. 变分自编码器(VAE) 3. 扩散模型(Diffusion Model) 4. Transformer 模型 5. 自然语言处理算法(NLP) 6. 计算机视觉算法(CV) 7. 神经网络算法 8. 决策树算法 9. 遗传算法 10. 聚类算法 1. 生成对抗网络(GAN) 原理与应用:生成对…...
一种基于单片机的智能饮水机设计
随着人们生活水平的提高,对美好生活质量的追求也越来越高。饮 水机是人们日常生活不可或缺的,实现饮水机的智能化控制不但方便, 而且更加安全。本文提出一种基于单片机的智能饮水控制系统,通过传 感器实现对水温的监测,…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...
