Java习题中 哈希表的理论 有效的字母异位词 快乐数 两数之和

关于 哈希表的理论
  • 今天最大的疑惑好像就是map的复杂度怎么算哈哈,一般n个元素map的复杂度就是On哦,不需要想得太复杂了,冲突的空间并不会造成一个量级,改变n前面的常数不会影响空间复杂度哈
  • 提醒!熟悉好map,set的API哦

关于 有效的字母异位词
  • 为什么遍历第二个字符串时只考虑碰到计数小于0的情况返回false而不考虑大于0的情况(即s字符串出现了t字符串中没有的字符)?
    最开始会判断两个字符串长度是否相等,在两个字符串长度相同的情况下,如果有大于0的情况,一定对应地会出现其他字符小于0。
  • python中 record = [0] *26 为什么不能写成record=[ ]*26
    要初始化为0或者其他任何数字也行,不填的话编译器应该不知道原来的数字是多少

关于 快乐数
  • sum重复出现,就肯定不是快乐数,为什么呢?
    因为只要重复出现一次就说明会无限循环,就像之前链表那个环,假设a1算完等于a2,a2算完等于a3,a3算完等于a1,那么下一次a1算完必定等于a2,再下一次a2算完必定是a3,形成了一个循环,而这个循环中不可能有1,因为1平方的结果永远是1,所以肯定有循环就肯定不是快乐数,是快乐数就肯定没有循环
  • 本题的代码随想录中的 js 示例代码用的map,其实效果和set都是一样的,都是标识某个数是否出现过,map的键也是唯一的。正如Java中,HashSet 和 LinkedHashSet 是基于 HashMap 实现的,而 TreeSet 是基于TreeMap实现的。这些map类都是用散列表或者红黑树来存储键值对的数据结构。
  • 关于本题的时间复杂度,计算方式与一般题目略有不同:

关于 两数之和
  • 一般说数组作为哈希表 是利用值作为数组下标来达到快速定位 所以查找也能达到O(1)的复杂度 但是适用范围很有限
  • 用unordered_map不是不能存储两个相同的key吗,那如果数组里两个出现相同的两个元素都要存储会怎么样呢?
    注意它存入的方式,它是在循环的过程中边检验边存的,如果没有对应的数字就存入map,如果有就计数,这样不会遇到重复的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/461283.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux异步通知实验:应用程序对异步通知的处理

一. 简介 前面文章学习了 应用程序对异步通知的处理方法,另一篇文章实现了Linux驱动对异步通知的处理: Linux应用程序对异步通知的处理-CSDN博客 Linux异步通知实验:驱动中异步通知的处理-CSDN博客 本文继续Linux异步通知实验&#xff0c…

想进阿里?先搞懂Spring Bean作用域!

大家好,我是小米!今天我来和大家分享一下 Java 开发中一项非常重要的技术——参数校验。参数校验在我们的代码中起着至关重要的作用,它能够确保我们的应用程序接收到正确的数据,并且保证了系统的安全性和稳定性。在过去,我们可能会通过繁琐的 if-else 来进行参数校验,但是…

AI视频矩阵混剪系统|罐头鱼AI批量混剪定时发送

AI视频矩阵混剪系统:智能创作与发布的完美结合 随着社交媒体平台的快速发展,视频已成为各行业推广和传播的热门方式。然而,对于许多人来说,制作高质量的视频仍然是一项挑战。Q:290615413但现在,有了AI视频矩阵混剪系统…

lftp服务与http服务(包含scp服务)详解

目录 前言: 1.lftp服务 1.1lftp服务的介绍以及应用场景 1.2安装lftp服务 1.2进行配置 1.3实际操作 2.http服务 2.1http服务介绍以及应用场景 2.1安装httpd服务 2.2进行配置 2.3实际操作 3.scp服务 3.1scp服务的介绍以及应用场景 致谢: 前言: 在当今互联网…

xss.haozi.me靶场“0x0B-0x12”通关教程

君衍. 一、0x0B 实体编码绕过二、0x0C script绕过三、0x0D 注释绕过四、0X0E ſ符号绕过五、0x0F 编码解码六、0x10 直接执行七、0x11 闭合绕过八、0x12 闭合绕过 XSS-Labs靶场“1-5”关通关教程 XSS-Labs靶场“6-10”关通关教程 Appcms存储型XSS漏洞复现 XSS-Labs靶场“11-13、…

CSS学习-选择器

一、基本选择器 1. 通配选择器 作用:可以选中所有的 HTML 元素。 语法: * { 属性名: 属性值; }举例: /* 选中所有元素 */ * { color: orange; font-size: 40px; }主要用于:清除样式。 2. 元素选择器 作用:为页面…

57、服务攻防——应用协议RsyncSSHRDP漏洞批扫口令猜解

文章目录 口令猜解——Hydra-FTP&RDP&SSH配置不当——未授权访问—Rsync文件备份协议漏洞——应用软件-FTP&Proftpd搭建 口令猜解——Hydra-FTP&RDP&SSH FTP:文本传输协议,端口21;RDP:windows上远程终端协议…

多媒体会议系统的优势与核心组成

随着科技的发展,多媒体会议系统已经成为现代商务沟通的重要工具。这种集成了多种通信和信息技术的系统,旨在提高会议的效率和参与度,具有诸多优势。本文将对多媒体会议系统进行详细的介绍和分析,并探讨其对现代商务沟通的影响。 …

Python程序设计基础——代码习题

1 __name__属性 import demodef main():if __name__ __main__:print(这个程序被直接运行。)elif __name__demo:print(这个程序作为模块被使用。) main()3.3 编写程序,生成包含1000个0~100之间的随机整数,并统计每个元素出现的次数。 import randomx[r…

springboot基于java的畅销图书推荐系统

摘 要 二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一…

Springboot 整合 Elasticsearch(五):使用RestHighLevelClient操作ES ②

📁 前情提要: Springboot 整合 Elasticsearch(三):使用RestHighLevelClient操作ES ① 目录 一、Springboot 整合 Elasticsearch 1、RestHighLevelClient API介绍 1.1、全查询 & 分页 & 排序 1.2、单条件查询…

PFA烧杯透明聚四氟乙烯刻度量杯

PFA烧杯,刻度清晰,耐酸碱,和有机溶剂。

模板进阶:非类型模板参数,特化

一、非类型模板参数 非类型模板参数&#xff0c;就是用一个常量作为 类/函数 的模板参数&#xff0c;在 类/函数 中可以被当成常量使用。 template<class T, size_t N>// N 为一个非类型模板参数 class Stack { public:Stack(){_a new T[N];} protected:T* _a; };int m…

Python环境安装及Selenium引入

Python环境安装 环境下载 Download Python | Python.org 环境安装 需使用管理员身份运行 查看环境是否安装成功 python --version 如果未成功则检查环境变量配置 安装 Selenium 库 pip install selenium Selenium 可以模拟用户在浏览器中的操作&#xff0c;如点击按钮、填写…

Python的异常处理机制之基础代谢

try语句是Python中的异常处理机制。当我们预料到某个代码块可能会引发异常时&#xff0c;可以将这部分代码放在try语句块中。如果try语句块中的代码执行时发生异常&#xff0c;Python会跳出当前的执行流程&#xff0c;并查找是否有对应的异常处理代码。 try语句的基本语法如下…

C++第五弹---类与对象(二)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 类与对象 1、类对象模型 1.1、如何计算类对象的大小 1.2、类对象的存储方式猜测 1.3、结构体内存对齐规则 2、this指针 2.1、this指针的引出 2.2…

Spring Cloud Alibab 入门搭建,包含Nacos中心,注册服务发现服务,Feign请求,GateWay网关,sentinel限流

源码在最后 一、安装Nacos注册中心 1.1查看Nacos官网&#xff0c;安装Nacos服务&#xff0c;下载源码或者安装包 1.2启动服务&#xff0c;默认端口为8848&#xff0c; 二、创建服务注册&发现 2.1使用脚手架&#xff0c;创建注册服务和发现服务项目&#xff0c;我用的版…

轻松玩转消息通信:SimpleAmqpClient 和 RabbitMQ 在C++中的终极指南

Rabbmq服务端 安装 这里我使用docker安装rabbitmq服务端,没有安装的就先去看其他的博客安装rabbitmq或者docker #拉取rabbitmq docker pull rabbitmq:management #运行rabbitmq,记得打开防火墙端口 docker run -d --hostname rabbitsrv --name rabbit -p 5672:5672 -p 15672…

【DL经典回顾】激活函数大汇总(十七)(Softmax2d附代码和详细公式)

激活函数大汇总&#xff08;十七&#xff09;&#xff08;Softmax2d附代码和详细公式&#xff09; 更多激活函数见激活函数大汇总列表 一、引言 欢迎来到我们深入探索神经网络核心组成部分——激活函数的系列博客。在人工智能的世界里&#xff0c;激活函数扮演着不可或缺的角…

机器硬件命令

一、查看机器核数 有以下几种方法 1、lscpu命令 lscpu命令可以显示关于CPU的信息&#xff0c;包括核数、线程数等。在终端中输入以下命令即可查看CPU核数&#xff1a;该命令会输出CPU每个物理插槽的核数。 lscpu | grep "Core(s) per socket" | awk {print $NF} …