Java 数组另类用法(字符来当数组下标使用)
一、原因
看力扣的时候发现有位大佬使用字符来当数组下标使用。
class Solution {public int lengthOfLongestSubstring(String s) {int result = 0;int[] hash = new int[130];int i = 0;for(int j = 0; j < s.length(); ++j) {while(hash[s.charAt(j)] > 0) {hash[s.charAt(i)]--;++i;}hash[s.charAt(j)]++;int tmp = j - i + 1;result = Math.max(tmp, result);}return result;}
}
二、分析
我打开idea,复制代码,加上断点,开始调试。

执行到下面这句时,int[97]变成了1。
hash[s.charAt(j)]++;
此时s.charAt(j)的值为a,细心的朋友可能就发现了,没错就是a的ASCII值。

所以上面这句等于
hash[97] = hash[97] + 1;
相关文章:
Java 数组另类用法(字符来当数组下标使用)
一、原因 看力扣的时候发现有位大佬使用字符来当数组下标使用。 class Solution {public int lengthOfLongestSubstring(String s) {int result 0;int[] hash new int[130];int i 0;for(int j 0; j < s.length(); j) {while(hash[s.charAt(j)] > 0) {hash[s.charAt…...
error转string
1 概述 在golang中,error类型是非常常见的一种数据类型。在开发过程中,经常会遇到需要将error类型转换成string类型的情况。本文主要介绍几种常见的golang error转string的方法。 2 使用Error()函数 在golang中,Error()函数是error类型的一…...
Android监听用户的截屏、投屏、录屏行为
Android监听用户的截屏、投屏、录屏行为 一.截屏 方案一:使用系统广播监听截屏操作 从Android Q(10.0)开始,Intent.ACTION_SCREEN_CAPTURED_CHANGED字段不再被支持。这是因为Google在安卓10 中引入了一个新的隐私限制&#…...
MATLAB算法实战应用案例精讲-【路径规划】 图搜索算法
目录 前言 几个高频面试题目 运动规划、路径规划、轨迹规划对比 1. 运动规划 2. 路径规划VS轨迹规划...
Elasticsearch-Kibana使用教程
1.索引操作 1.1创建索引 PUT /employee {"settings": {"index": {"refresh_interval": "1s","number_of_shards": 1,"max_result_window": "10000","number_of_replicas": 0}},"mappi…...
mysql(八)docker版Mysql8.x设置大小写忽略
Mysql 5.7设置大小写忽略可以登录到Docker内部,修改/etc/my.cnf添加lower_case_table_names1,并重启docker使之忽略大小写。但MySQL8.0后不允许这样,官方文档记录: lower_case_table_names can only be configured when initializ…...
KALI LINUX攻击与渗透测试
预计更新 第一章 入门 1.1 什么是Kali Linux? 1.2 安装Kali Linux 1.3 Kali Linux桌面环境介绍 1.4 基本命令和工具 第二章 信息收集 1.1 网络扫描 1.2 端口扫描 1.3 漏洞扫描 1.4 社交工程学 第三章 攻击和渗透测试 1.1 密码破解 1.2 暴力破解 1.3 漏洞利用 1.4 …...
vue之mixin混入
vue之mixin混入 mixin是什么? 官方的解释: 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的…...
[ffmpeg] find 编码器
背景 整理 ffmpeg 中,如何通过名字或者 id 找到对应编码器的。 具体流程 搜索函数 avcodec_find_encoder // 通过 ID 搜索编码器 avcodec_find_encoder_by_name // 通过名字搜索编码器源码分析 ffmpeg 中所有支持的编码器都会注册到 codec_list.c 文件中&…...
Android CardView基础使用
目录 一、CardView 1.1 导入material库 1.2 属性 二、使用(效果) 2.1 圆角卡片效果 2.2 阴影卡片效果 2.3 背景 2.3.1 设置卡片背景(app:cardBackgroundColor) 2.3.2 内嵌布局,给布局设置背景色 2.4 进阶版 2.4.1 带透明度 2.4.2 无透明度 一、CardView 顾名…...
云原生Kubernetes系列 | init container初始化容器的作用
云原生Kubernetes系列 | init container初始化容器的作用 kubernetes 1.3版本引入了init container初始化容器特性。主要用于在启动应用容器(app container)前来启动一个或多个初始化容器,作为应用容器的一个基础。只有init container运行正常后,app container才会正常运行…...
汽车电子芯片介绍之Aurix TC系列
Infineon的AURIX TC系列芯片是专为汽车电子系统设计的,采用了32位TriCore处理器架构。该系列芯片具有高性能、低功耗和丰富的外设接口,适用于广泛的汽车电子应用。以下是AURIX TC系列芯片的主要特性: 1. 高性能处理器 AURIX TC芯片采用了高…...
Linux 设置程序开机自启动的方法
目录 前言开机自启动参考 前言 CentOS Linux release 7.9.2009 (Core) 开机自启动 shell> vim /etc/rc.d/rc.local添加开机后执行的命令 sh /xxx/xxx.sh参考 https://www.cnblogs.com/xlmeng1988/archive/2013/05/22/3092447.html...
java企业财务管理系统springboot+jsp
1、基本内容 (1)搭建基础环境,下载JDK、开发工具eclipse/idea。 (2)通过HTML/CSS/JS搭建前端框架。 (3)下载MySql数据库,设计数据库表,用于存储系统数据。 (4…...
【Windows】如何实现 Windows 上面的C盘默认文件夹的完美迁移
如何实现 Windows 上面的C盘默认文件夹的完美迁移 1. 遇到的问题 在我想迁移C盘的 下载 和 视频 文件夹的时候,遇到了这样的问题,在迁移之后,我显卡录像的视频还是保存到了C盘默认位置里,以及我迁移了 下载 之后下载的盘依然是在…...
kubernetes七层负载Ingress搭建(K8S1.23.5)
首先附上K8S版本及Ingress版本对照 Ingress介绍 NotePort:该方式的缺点是会占用很多集群机器的端口,当集群服务变多时,这个缺点就愈发的明显(srevice变多,需要的端口就需要多) LoadBalancer:该方式的缺点是每个servi…...
二维粒子群算法航线规划
GitHub - gabrielegilardi/PathPlanning: Implementation of particle swarm optimization (PSO) for path planning when the environment is known....
uniapp长按图片识别二维码
引用:https://blog.csdn.net/weixin_48596030/article/details/125405779 <image :src"url" mode"widthFix" click.self"previewImage" show-menu-by-longpress"true" style"width: 350rpx;"></image…...
智能优化算法应用:基于和声算法无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于和声算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于和声算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.和声算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…...
Gitee拉取代码报错You hasn‘t joined this enterprise! fatal unable to access
文章目录 一、问题二、解决2.1、进入**控制面板**2.2、进入**用户账户**2.3、进入**管理Windows凭据**2.4、**普通凭据**2.4.1、添加2.4.2、编辑 2.5、重新拉取|推送代码 三、最后 一、问题 Gitee拉取仓库代码的时候报错You hasnt joined this enterprise! fatal unable to ac…...
如何解决健康160抢号难题?智能工具91160-cli让挂号效率提升5倍
如何解决健康160抢号难题?智能工具91160-cli让挂号效率提升5倍 【免费下载链接】91160-cli 健康160全自动挂号脚本 项目地址: https://gitcode.com/gh_mirrors/91/91160-cli 你是否曾遇到预约专家号时页面卡顿,等刷新完成号源已被抢空?…...
Qwen-Image-2512-Pixel-Art-LoRA 跨界创作:生成像素风音乐专辑封面与海报
Qwen-Image-2512-Pixel-Art-LoRA 跨界创作:生成像素风音乐专辑封面与海报 最近在玩一个挺有意思的AI工具,叫Qwen-Image-2512-Pixel-Art-LoRA。名字有点长,但功能很直接,就是专门生成像素艺术。我琢磨着,像素风这种复古…...
网盘下载加速工具:突破下载限制的直链提取技术详解
网盘下载加速工具:突破下载限制的直链提取技术详解 【免费下载链接】baiduyun 油猴脚本 - 一个免费开源的网盘下载助手 项目地址: https://gitcode.com/gh_mirrors/ba/baiduyun 你是否也曾遇到这样的情况:明明是自己辛苦上传的文件,下…...
ExifToolGUI完全指南:让照片元数据管理效率倍增的实用技巧
ExifToolGUI完全指南:让照片元数据管理效率倍增的实用技巧 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 还在为照片位置管理烦恼?这款工具让地理标记效率提升300%。ExifToolGUI作为…...
开发者必备:OpenClaw+Qwen3-32B镜像调试Python脚本全攻略
开发者必备:OpenClawQwen3-32B镜像调试Python脚本全攻略 1. 为什么选择OpenClawQwen3-32B组合? 去年冬天调试一个图像处理项目时,我每天要反复执行十几个Python脚本,手动检查日志、截图比对结果。直到发现OpenClaw这个"数字…...
开关电源环路补偿:单个极点与零点的实战配置与拓扑适配
1. 开关电源环路补偿的核心概念 第一次接触开关电源环路补偿时,我被那些专业术语搞得晕头转向。直到有一次在实验室调试Buck电路,亲眼看到相位裕度不足导致的振荡现象,才真正理解极点和零点的实际意义。简单来说,环路补偿就像给电…...
深度学习计算机视觉:从原理到实践
深度学习计算机视觉:从原理到实践 1. 背景与动机 计算机视觉是深度学习最成功的应用领域之一。从图像分类到目标检测,从语义分割到图像生成,深度学习技术已广泛应用于自动驾驶、医疗影像、工业检测等领域。本文将介绍计算机视觉的核心技术和实…...
AI 模型推理容器化性能优化方案
AI模型推理容器化性能优化方案 随着AI技术的快速发展,模型推理在生产环境中的部署需求日益增长。容器化技术凭借其轻量级、可移植性和高效资源管理的优势,成为AI模型部署的主流选择。在实际应用中,如何优化容器化AI推理的性能,降…...
小迪安全第9天:算法逆向与加密解密基础
一、加密算法分类与核心特征1.1 三大加密类型对比表格类型代表算法核心特点解密条件成功率单向散列加密MD5、SHA、MAC、CRC不可逆、固定输出、碰撞破解只需密文依赖明文复杂度对称加密AES、DES、3DES加解密用同一密钥、速度快密文密钥模式偏移量99.9%非对称加密RSA、SSL、PKCS公…...
