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

Practices6|69. x 的平方根、(哈希表)205. 同构字符串、(哈希表)1002. 查找共用字符

69. x 的平方根

1.题目:

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。

由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:

输入:x = 4
输出:2

示例 2:

输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

2.思路:

考察:二分查找

3.代码:

public int mySqrt(int x) {//二分查找int left=0,right=x,res=-1;while(right>=left){int mid=(right+left)/2;if((long)mid*mid<=x){res=mid;left=mid+1;}else{right=mid-1;}}return res;}

205. 同构字符串

1.题目:

给定两个字符串 s 和 t ,判断它们是否是同构的。

如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。

每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

示例 1:

输入:s = "egg", t = "add"
输出:true

示例 2:

输入:s = "foo", t = "bar"
输出:false

2.思路:

考察:哈希表

使用两个map 保存 s[i] 到 t[j] 和 t[j] 到 s[i] 的映射关系,如果发现对应不上,立刻返回 false

3.代码:

 public boolean isIsomorphic(String s, String t) {//map映射//map1:s[i]到t[j]的映射Map<Character,Character> map1=new HashMap<>();//map2:t[j]到s[i]的映射Map<Character,Character> map2=new HashMap<>();for(int i=0,j=0;i<s.length();i++,j++){if(!map1.containsKey(s.charAt(i))){map1.put(s.charAt(i),t.charAt(j));}if(!map2.containsKey(t.charAt(j))){map2.put(t.charAt(j),s.charAt(i));}if(map1.get(s.charAt(i))!=t.charAt(j) || map2.get(t.charAt(j))!=s.charAt(i)){return false;}}return true;}

1002. 查找共用字符

1.题目:

给你一个字符串数组 words ,请你找出所有在 words 的每个字符串中都出现的共用字符( 包括重复字符),并以数组形式返回。你可以按 任意顺序 返回答案。

示例 1:

输入:words = ["bella","label","roller"]
输出:["e","l","l"]

示例 2:

输入:words = ["cool","lock","cook"]
输出:["c","o"]

2.思路:

哈希:字母+求频率

将字符映射到数组也就是哈希表的索引下标上,因为字符a到字符z的ASCII是26个连续的数值,所以字符a映射为下标0,相应的字符z映射为下标25。

 统计出搜索字符串里26个字符的出现的频率,然后取每个字符频率最小值,最后转成输出格式

注意:

基本数据类型之间的运算规则:

byte、char、short -> int -> long -> float -> double

注意:byte、char、short这三种数据类型做运算时,结果为int型。

public static void main(String[] args) {
        char one = 'a';  //97
        char two = 'b';  //98
        int three = 10;
        String str = "hello";
        System.out.println(one + three);  //107
        System.out.println(one + str);    //ahello
        System.out.println(three + str);  //10hello
        System.out.println(one + 2);      //99
        System.out.println(one + two);    //195
}

从小到大:自动类型提升

从大到小:强制类型转换

3.代码:

public List<String> commonChars(String[] words) {List<String> result=new ArrayList<>();int[] hash=new int[26];//字符串数组的每个元素是由字符串组成,length()方法。数组length属性。for(int i=0;i<words[0].length();i++){hash[words[0].charAt(i)-'a']++;}for(int i=1;i<words.length;i++){int[] hashOther=new int[26];for(int j=0;j<words[i].length();j++){hashOther[words[i].charAt(j)-'a']++;}for(int k=0;k<hash.length;k++){hash[k]=Math.min(hash[k],hashOther[k]);}}for(int i=0;i<26;i++){while(hash[i]!=0){result.add(String.valueOf((char)(i+'a')));hash[i]--;//每个字符可能重复出现,}}return result;}

相关文章:

Practices6|69. x 的平方根、(哈希表)205. 同构字符串、(哈希表)1002. 查找共用字符

69. x 的平方根 1.题目&#xff1a; 给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 注意&#xff1a;不允许使用任何内置指数函数和算符&#xff0c;例如 pow(x, 0.…...

Qt扫盲-Model/View入门

Model/View 编程入门 一、概述二、介绍1. 标准部件2. Model/View 控件3. Model/View控件概述4. 在表格单和 model 之间使用适配器 Adapters 三、 简单的 model / view 应用程序示例1. 一个只读表2. 使用role扩展只读示例3. 表格单元中的时钟4. 为列和行设置标题5. 最小编辑示例…...

关于win11 debian wsl 子系统安装启动docker一直starting,无法启动

首先我先说明&#xff0c;我的步骤都是按照官网步骤来的 通过官网的操作步骤 通过测试命令 sudo docker run hello-world得到下面的命令&#xff0c;我们通过启动命令 sudo service docker start 执行结果如下图 也就是说无法启动&#xff0c;一直显示在启动中 遇到这种情况…...

Nginx反向代理配置+负载均衡集群部署

文章目录 负载均衡反向代理基础环境部署&#xff1a;什么是代理实验环境图流量过程 环境部署准备两台Web服务器安装Nginx准备页面内容添加主机名 代理服务器配置 修改windos hosts文件测试&#xff1a;终端浏览器 负载均衡反向代理基础环境部署&#xff1a; 什么是代理 正向代…...

设计模式行为型——迭代器模式

什么是迭代器模式 迭代器模式&#xff08;Iterator Pattern&#xff09;属于行为型模式&#xff0c;其提供一种方法顺序访问一个聚合对象中的各种元素&#xff0c;而又不暴露该对象的内部表示&#xff0c;即不需要知道集合对象的底层表示。编程环境中非常常用的设计模式。 迭代…...

K8s持久化存储(nfs网络存储)

数据卷 emptydir&#xff0c;是本地存储&#xff0c;pod重启&#xff0c;数据就不存在了&#xff0c;需要对数据持久化存储 1.nfs&#xff0c;网络存储 &#xff0c;pod重启&#xff0c;数据还存在的...

常规VUE项目优化实践,跟着做就对了!

总结&#xff1a; 主要优化方式&#xff1a; imagemin优化打包大小&#xff08;96M->50M&#xff09;&#xff0c;但是以打包速度为代价&#xff0c;通过在构建过程中压缩图片来实现&#xff0c;可根据需求开启。字体压缩&#xff1a;目前项目内引用为思源字体&#xff0c…...

PLL 的 verilog 实现

锁相环&#xff08;PLL&#xff09;是一种常用的频率、相位追踪算法&#xff0c;在信号解调、交流并网等领域有着广泛的应用。本文对全数字锁相环的原理进行介绍&#xff0c;随后给出 verilog 实现及仿真。 PLL 锁相原理 锁相环结构如下图所示&#xff0c;主要由鉴相器、环路滤…...

【Hystrix技术指南】(1)基本使用和配置说明

这世间许多事物皆因相信而存在&#xff0c;所以人们亲手捏出了泥菩萨&#xff0c;却选择坚定的去信仰它。 分布式系统的规模和复杂度不断增加&#xff0c;随着而来的是对分布式系统可用性的要求越来越高。在各种高可用设计模式中&#xff0c;【熔断、隔离、降级、限流】是经常被…...

Oracle EBS OM客制化调用API创建销售订单非常慢(FND_FLEX_HASH死锁)

业务场景 由于Oracle EBS标准功的公司间关联交易操作涉及业务节点环节多,需要多个业务部门参考操作完成,浪费人力和花费时间。随着国内集团公司通过业务整合优化,大幅度减少间中很多环节的人为操作,如国内公司间贸易通过类似于客制化出货单申请方式,跨国公司间贸易通过类似…...

【leetcode】394. 字符串解码

题目链接&#xff1a;力扣 给定一个经过编码的字符串&#xff0c;返回它解码后的字符串。 编码规则为: k[encoded_string]&#xff0c;表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的&#xff1b;输入字符串中没…...

系统架构设计高级技能 · 系统质量属性与架构评估(二)【系统架构设计师】

系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA&#xff08;一&#xff09;【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估&#xff08;二&#xff09;【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…...

魅族Pandaer手机壳

Pandaer的设计真是非常好看啊&#xff01;像是手机壳的花样就特别多&#xff0c;还分出来很多系列&#xff0c;我比较喜欢它的亮面设计&#xff0c;入手了一款iPhone的&#xff0c;花色叫做“失控街头”&#xff0c;壳内部也是亮的&#xff0c;看起来特别浮夸&#xff0c;潮里潮…...

F5洞察2023年网络威胁,助力网络安全防护

2023已经过半&#xff0c;关于网络安全防护的相关讨论话题热度始终居高不下。对于网络安全领域的从业者来说&#xff0c;应当对相关的前瞻分析有所了解。前段时间&#xff0c;我阅读了F5 安全运营中心工程师对威胁网络安全的预测&#xff0c;深受启发&#xff0c;故此选取了几则…...

从零构建深度学习推理框架-4 框架中的算子注册机制

今天要讲的这一注册机制用到了设计模式中的工厂模式和单例模式&#xff0c;所以这节课也是对两大设计模式的一个合理应用和实践。KuiperInfer的注册表是一个map数据结构&#xff0c;维护了一组键值对&#xff0c;key是对应的OpType&#xff0c;用来查找对应的value&#xff0c;…...

使用vscode+ssh免密远程Linux

使用vscodessh免密远程Linux 使用 SSH 密钥对&#xff1a;使用 SSH Agent&#xff1a;ssh-agent的使用场景 使用 SSH 密钥对&#xff1a; 确保你的本地机器上已经生成了 SSH 密钥对。如果没有&#xff0c;请使用以下命令生成密钥对&#xff1a; ssh-keygen -t rsa这将在 ~/.ssh…...

rust-异步学习

rust获取future中的结果 两种主要的方法使用 async: async fn 和 async 块 async 体以及其他 future 类型是惰性的&#xff1a;除非它们运行起来&#xff0c;否则它们什么都不做。 运行 Future 最常见的方法是 .await 它。 当 .await 在 Future 上调用时&#xff0c;它会尝试把…...

【Azure】office365邮箱测试的邮箱账号因频繁连接邮箱服务器而被限制连接 引起邮箱显示异常

azure微软office365邮箱会对频繁连接自身邮箱服务器的IP地址进行&#xff0c;连接邮箱服务器IP限制&#xff0c;也就是黑名单&#xff0c;释放时间不确定&#xff0c;但至少一天及以上。 解决办法&#xff0c;换一个IP&#xff0c;或者新注册一个office365邮箱再重试。 以下是…...

重新登录成功和登录失败处理器

<template><div class="login"><el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form"><h3 class="title">Java1234 Vue3 后台管理系统</h3><el…...

【Spring】(三)Spring 使用注解存储和读取 Bean对象

文章目录 前言一、使用注解储存 Bean 对象1.1 配置扫描路径1.2 类注解储存 Bean 对象1.2.1 Controller&#xff08;控制器存储&#xff09;1.2.2 Service&#xff08;服务储存&#xff09;1.2.3 Repository&#xff08;仓库存储&#xff09;1.2.4 Component&#xff08;组件储存…...

梦幻动漫魔法工坊实战:用LoRA轻松打造专属动漫风格

梦幻动漫魔法工坊实战&#xff1a;用LoRA轻松打造专属动漫风格 1. 为什么你需要这个动漫生成工具 想象一下&#xff0c;你脑海中浮现出一个可爱的猫耳少女形象&#xff0c;粉色长发在微风中飘动&#xff0c;穿着精致的洛丽塔裙子站在糖果色的背景前。传统方式下&#xff0c;你…...

数据库SQL中的IN, NOT IN和NULL

一. 首先SQL中有一个原则: NULL与任何值比较都没结果 二. 假定有以下两个表: 表t1:idname1A2B3NULL表t2:idname1A2C3NULL1. 当使用 IN 查询 select * from t1 where t1.name in (select t2.name from t2);等价于 (t1.name1 t2.name1 or t1.name1 t2.name2 or ... ) or (t1.na…...

Windows下GridSearchCV并行计算避坑指南:解决n_jobs=-1导致的编码错误

Windows平台高效调参实战&#xff1a;GridSearchCV并行计算编码问题终极解决方案 当你在Windows系统上使用Scikit-learn的GridSearchCV进行超参数调优时&#xff0c;是否遇到过这样的报错信息&#xff1f;"UnicodeEncodeError: ascii codec cant encode characters...&quo…...

3分钟彻底移除Windows Edge浏览器:系统优化终极指南

3分钟彻底移除Windows Edge浏览器&#xff1a;系统优化终极指南 【免费下载链接】EdgeRemover A PowerShell script that correctly uninstalls or reinstalls Microsoft Edge on Windows 10 & 11. 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeRemover 你是否…...

为什么 Transformer 这么强?——对比 CNN 和 RNN(Version B)

为什么 Transformer 这么强&#xff1f;——对比 CNN 和 RNN&#xff08;Version B&#xff09; &#x1f4da; 《从零到一造大脑&#xff1a;AI架构入门之旅》专栏 专栏定位&#xff1a;面向中学生、大学生和 AI 初学者的科普专栏&#xff0c;用大白话和生活化比喻带你从零理解…...

OmenSuperHub:基于WMI BIOS控制的惠普暗影精灵硬件管理终极指南

OmenSuperHub&#xff1a;基于WMI BIOS控制的惠普暗影精灵硬件管理终极指南 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普暗…...

无人机 Remote ID(RID)广播与技术标准概览

无人机 Remote ID&#xff08;RID&#xff09;广播与技术标准概览 目录 概述与知识地图一、RID 广播是什么二、广播内容与工作方式三、广播式 RID 与网络式 RID四、技术要点&#xff1a;频段、功率、硬件与协议五、Open Drone ID / ASTM 报文体系&#xff08;扩展&#xff09…...

保姆级教程:手把手教你用百度网盘下载并安装MATLAB R2024a(附详细步骤与激活文件替换指南)

MATLAB R2024a 从下载到激活的全流程避坑指南 第一次安装MATLAB就像在迷宫里找出口——下载链接在哪&#xff1f;ISO文件怎么处理&#xff1f;工具箱该选哪些&#xff1f;最要命的是那个神秘的Crack文件夹&#xff0c;稍有不慎就会卡在最后一步。作为过来人&#xff0c;我整理了…...

Zotero CitationCounts:学术引用追踪与文献影响力分析的高效工具

Zotero CitationCounts&#xff1a;学术引用追踪与文献影响力分析的高效工具 【免费下载链接】zotero-citationcounts Zotero plugin for auto-fetching citation counts from various sources 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-citationcounts Zote…...

重获数据自主权:WechatDecrypt让你掌控数字记忆

重获数据自主权&#xff1a;WechatDecrypt让你掌控数字记忆 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 在数字时代&#xff0c;我们的聊天记录、社交关系和工作信息都存储在第三方平台上&#xff0c;…...