【Leetcode 每日一题】2506. 统计相似字符串对的数目
问题背景
给你一个下标从 0 0 0 开始的字符串数组 w o r d s words words。
如果两个字符串由相同的字符组成,则认为这两个字符串 相似 。
- 例如,“abca” 和 “cba” 相似,因为它们都由字符 ‘a’、‘b’、‘c’ 组成。
- 然而,“abacba” 和 “bcfd” 不相似,因为它们不是相同字符组成的。
请你找出满足字符串 w o r d s [ i ] words[i] words[i] 和 w o r d s [ j ] words[j] words[j] 相似的下标对 ( i , j ) (i, j) (i,j),并返回下标对的数目,其中 0 ≤ i < j ≤ w o r d s . l e n g t h − 1 0 \le i \lt j \le words.length - 1 0≤i<j≤words.length−1。
数据约束
- 1 ≤ w o r d s . l e n g t h ≤ 100 1 \le words.length \le 100 1≤words.length≤100
- 1 ≤ w o r d s [ i ] . l e n g t h ≤ 100 1 \le words[i].length \le 100 1≤words[i].length≤100
- w o r d s [ i ] words[i] words[i] 仅由小写英文字母组成
解题过程
想到了字符串映射和字符串哈希,没想到用位运算来进行压缩存储。统计数量的做法,参考 好数对数目 就可以了。
具体实现
class Solution {public int similarPairs(String[] words) {Map<Integer, Integer> count = new HashMap<>();int res = 0;for (String word : words) {int mask = 0;for (char c : word.toCharArray()) {mask |= 1 << (c - 'a');}int cur = count.getOrDefault(mask, 0);res += cur;count.put(mask, cur + 1);}return res;}
}
相关文章:
【Leetcode 每日一题】2506. 统计相似字符串对的数目
问题背景 给你一个下标从 0 0 0 开始的字符串数组 w o r d s words words。 如果两个字符串由相同的字符组成,则认为这两个字符串 相似 。 例如,“abca” 和 “cba” 相似,因为它们都由字符 ‘a’、‘b’、‘c’ 组成。然而,“…...
【Shell编程 / 9】脚本实战项目:从基础到进阶的自动化管理方案
文章目录 Shell脚本实战项目自动化部署脚本系统监控脚本文件备份脚本定时任务管理脚本文件传输自动化脚本自动化日志清理脚本用户管理脚本 Shell脚本实战项目 在掌握了 Shell 脚本的基本语法和高级技巧后,实践是进一步提升脚本编写能力的关键。通过参与一些实际的项…...
在PyTorch中使用插值法来优化卷积神经网络(CNN)所需硬件资源
插值法其实就是在已知数据点之间估计未知点的值。通过已知的离散数据点,构造一个连续的曲线函数,预测数据点之间的空缺值是什么并且自动填补上去。 适用场景: 在卷积神经网络(CNN)中的应用场景中,经常遇到计算资源有限,比如显存不够或者处理速度慢,需要用插值来降低计…...
黄金市场现状与驱动因素分析
一、当前市场现状:挤兑、运力与供应链危机 全球金库告急与运输瓶颈 伦敦商业银行金库的黄金存量告急,纽约和伦敦市场出现“史诗级挤兑”。提取英格兰银行金库的黄金需等待4-8周,远高于常规的几天时间[citation:用户描述]。专业运输车辆超负荷…...
Linux arm64 IOMMU总结
一、DMA的引入 Non-DMA:CPU直接与设备进行数据交互,CPU的负载会随着数据的读写而增加; DMA:CPU不参与数据的直接传输,DMA Controller负责Device与Memory之间的数据搬运,并以中断信号的形式通知CPU…...
服务器通过 ollama 运行deepseek r1
1、服务器环境简介 56核 CPU64G 内存无显卡已安装 Ollama 2、下载模型与配置 正常可以通过 ollama pull 或 ollama run 命令直接下载,但通常会遇到连接超时、找不到网址等总理。因此,可以使用国内的模型站进行下载,在这里使用魔塔查找模型…...
MYSQL学习笔记(九):MYSQL表的“增删改查”
前言: 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇,涵盖入门、进阶、高级(一些原理分析);这一篇讲述一些在MYSQL的数据类型,和表的“增删改查”基本操作;虽然MYSQ…...
Oracle JDK、Open JDK zulu下载地址
一、Oracle JDK https://www.oracle.com/java/technologies/downloads/ 刚进去是最新的版本,往下滑可以看到老版本 二、Open JDK的 Azul Zulu https://www.azul.com/downloads/ 直接可以选版本等选项卡...
分类解析决策模型
一、按理性程度划分的决策模型 1. 完全理性模型(古典决策理论) 核心假设:决策者拥有完全信息,能计算所有选项的效用并选择最优解。数学模型: 期望效用理论(Expected Utility Theory, EU): E U = ∑ ( p i...
【SPIE出版,见刊快速,EI检索稳定,浙江水利水电学院主办】2025年物理学与量子计算国际学术会议(ICPQC 2025)
2025年物理学与量子计算国际学术会议(ICPQC 2025)将于2025年4月18-20日在中国杭州举行。本次会议旨在汇聚全球的研究人员、学者和业界专家,共同探讨物理学与量子计算领域的最新进展与前沿挑战。随着量子技术的快速发展,其在信息处…...
【网络】高级IO——Reactor版TCP服务器
1.什么是Reactor Reactor 是一种应用在服务器端的开发模式(也有说法称 Reactor 是一种 IO 模式),目的是提高服务端程序的并发能力 它要解决什么问题呢? 传统的 thread per connection 用法中,线程在真正处理请求之前首…...
3.Docker常用命令
1.Docker启动类命令 1.启动Docker systemctl start docker 2.停止Docker systemctl stop docker 3.重启Docker systemctl restart docker 4.查看Docker状态 systemctl status docker 5.设置开机自启(执行此命令后每次Linux重启后将自启动Docker) systemctl enable do…...
【uni-app】对齐胶囊容器组件
代码碎片 <template><div><view :style"{ height: ${statusBarHeight}px }"></view><viewclass"":style"{height: ${menuButtonHeight menuButtonPadding * 2}px,width: ${menuButtonInfo.left}px,}"><slot …...
JUC并发—10.锁优化与锁故障
大纲 1.标志位修改场景优先使用volatile(服务优雅停机) 2.数值递增场景优先使用Atomic类(心跳计数器) 3.共享变量仅对当前线程可见的场景优先使用ThreadLocal(edits log的处理) 4.读多写少需要加锁的场景优先使用读写锁(服务注册表的并发读写) 5.尽量减少线程对锁占用时间…...
Java 大视界 -- 区块链赋能 Java 大数据:数据可信与价值流转(84)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
大数据学习之PB级音乐数据中心数仓综合项目(1)-理论知识和项目需求、歌曲热度与歌手热度排行
一、理论知识和项目需求 1.课程介绍 2.数据库与ER建模_数据库三范式 3.数据库与ER建模_ER实体关系模型 4.数据库与维度建模_数据仓库(DATA WAREHOUSE) 5.数据库与维度建模_数据库与数据仓库区别 6.数据库与维度建模_数据仓库的发展历程 7.数据库与维度建模_维度建模 8.数据库与…...
DeepSeek vs ChatGPT:AI 领域的华山论剑,谁主沉浮?
一、引言 在当今科技飞速发展的时代,人工智能(AI)已然成为推动各领域变革的核心力量。而在人工智能的众多分支中,自然语言处理(NLP)因其与人类日常交流和信息处理的紧密联系,成为了最受瞩目的领…...
七星棋牌顶级运营产品全开源修复版源码教程:6端支持,200+子游戏玩法,完整搭建指南(含代码解析)
棋牌游戏一直是移动端游戏市场中极具竞争力和受欢迎的品类,而七星棋牌源码修复版无疑是当前行业内不可多得的高质量棋牌项目之一。该项目支持 6大省区版本(湖南、湖北、山西、江苏、贵州),拥有 200多种子游戏玩法,同时…...
本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术
今天给大家分享的是一位粉丝的提问,本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问: 你好&…...
从混沌到有序:一个数据血缘分析的进化故事
从混沌到有序:一个数据血缘分析的进化故事 从混沌到有序的数据治理之路数据血缘的建设方法和实践路径数据血缘的实践场景和未来趋势。 数据就像流淌在企业血管中的血液,它的每一次流动、每一次转化都留下独特的印记。 作为数据工程师,我曾困惑…...
向量搜索误召回率高达38%?EF Core 10中Normalize预处理缺失、余弦阈值漂移、HNSW参数过拟合三重危机预警
第一章:EF Core 10向量搜索扩展的危机本质与演进定位向量搜索在ORM生态中的结构性张力 EF Core 10首次将向量搜索能力纳入官方实验性扩展(Microsoft.EntityFrameworkCore.Vector),但其设计并未突破传统ORM“关系—对象”映射范式的…...
线性代数在数据挖掘中的核心应用,机器学习必须了解
线性代数在数据挖掘中扮演着核心数学工具的角色,其应用贯穿于数据预处理、特征工程、模型构建与优化的全过程 。 以下将从核心知识点、具体用途及实践教程三个层面进行详细阐述。 一、核心知识点及其在数据挖掘中的用途 线性代数在数据挖掘中的应用主要围绕以下几…...
量子计算中的稳定器范围:原理与应用
1. 量子计算中的稳定器范围:概念与背景量子计算的核心挑战之一在于有效管理非Clifford门资源。稳定器范围(Stabilizer Extent)作为衡量非Clifford操作资源消耗的关键指标,近年来在量子电路合成与优化领域展现出独特价值。这一概念…...
智能机器狗开发深度解析:从机械骨骼到感知大脑的技术演进之旅
智能机器狗开发深度解析:从机械骨骼到感知大脑的技术演进之旅 【免费下载链接】openDogV2 项目地址: https://gitcode.com/gh_mirrors/op/openDogV2 在机器人技术蓬勃发展的今天,构建一只能够感知环境、自主决策的智能机器狗,已不再是…...
MySQL如何通过MVCC提升并发读性能_理解undo log版本链
快照读不用锁靠Undo Log版本链实现,SELECT通过ReadView沿DB_ROLL_PTR链追溯可见版本;ReadView用m_up_limit_id、m_low_limit_id和m_creator_trx_id三值判断版本可见性。快照读为什么不用锁?靠的是Undo Log版本链MySQL的SELECT不加锁ÿ…...
3种高效知乎数据采集方案:突破社交平台API限制的技术实现
3种高效知乎数据采集方案:突破社交平台API限制的技术实现 【免费下载链接】zhihu-api Zhihu API for Humans 项目地址: https://gitcode.com/gh_mirrors/zh/zhihu-api 知乎作为中文互联网高质量内容平台,积累了海量的问答数据和用户行为信息。对于…...
别再死记硬背了!用Python脚本自动生成MCNP探测器(Tally)配置,效率翻倍
用Python脚本自动化MCNP探测器配置:告别手动编辑的低效时代 如果你曾经花费数小时手动调整MCNP输入文件中的探测器(F卡)配置,只为在几何模型中添加几个新的计数区域;或者因为忘记更新某个FS卡的表面编号而导致整个模拟需要重跑——那么这篇文…...
机器学习中A/B测试的核心价值与实施策略
1. 机器学习中的A/B测试本质解析在算法迭代的战场上,A/B测试就像一把精准的手术刀。三年前我们团队上线推荐系统新模型时,曾因跳过A/B测试直接全量发布,导致次日用户停留时长骤降23%。这个惨痛教训让我深刻认识到:没有经过科学对比…...
多摩川编码器通信避坑指南:STM32 RS485接线、供电不稳、通信失败的排查与修复
多摩川编码器与STM32的RS485通信实战:从硬件设计到故障排查的完整指南 当你在深夜的实验室里盯着示波器上杂乱的波形,反复检查代码却依然无法与多摩川编码器建立通信时,那种挫败感每个嵌入式工程师都深有体会。RS485通信看似简单,…...
Lenovo在2026年汉诺威工业博览会上展示生产级AI解决方案,助力制造商将交付周期缩短最高85%
94%的制造商将在2026年加大AI投入,Lenovo推出的解决方案助力企业从试点迈向规模化生产,在成本、质量和运营表现方面实现可衡量的提升 面对持续的供应链波动和运营复杂度上升,制造商在提升效率、抗风险能力和响应速度方面面临越来越大的压力。…...
