本文主要是介绍【优选算法系列】第一节.哈希表简介(1. 两数之和and面试题 01.02. 判定是否互为字符重排),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 前言
- 一、哈希表简介
- 二、两数之和
- 2.1 题目描述
- 2.2 题目解析
- 2.2.1 算法原理
- 2.2.2 代码编写
- 三、判定是否互为字符重排
- 3.1 题目描述
- 3.2 题目解析
- 3.2.1 算法原理
- 3.2.2 代码编写
- 总结
前言
一、哈希表简介
定义:
也叫做散列表,是根据关键字和值(Key Value)直接进行访问的数据结构,即通过一个关键字Key和一个映射函数Hash计算出对应的值Value,然后把键值对映射到表中一个位置来访问记录,以加快查找的速度,这个映射函数叫做哈希函数,用于存放记录的数组叫做哈希表。
即存储数据的表。通过哈希函数使得数据和存储位置之间建立一一对应的映射关系。在查找时,通过哈希函数可以直接找到该元素。
作用:
在查找时,通过哈希函数可以直接找到该元素。即快速的查找到某个元素;
使用场景:
当我们需要频繁的查找某一个数的时候。
怎么使用哈希表?
(1)通过容器使用(哈希表)(2)通过数组使用,用数组简易模拟哈希表;
图示示例:数组模拟
二、两数之和
2.1 题目描述
描述:
给定一个整数数组
nums
和一个整数目标值target
,请你在该数组中找出 和为目标值target
的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
提示:
2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109
- 只会存在一个有效答案
示例1:
实例2:
示例3:
2.2 题目解析
2.2.1 算法原理
2.2.2 代码编写
三、判定是否互为字符重排
3.1 题目描述
描述:
给定两个由小写字母组成的字符串s1
和s2
,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。
说明:
0 <= len(s1) <= 100
0 <= len(s2) <= 100
示例1:
示例2:
示例3:
3.2 题目解析
3.2.1 算法原理
3.2.2 代码编写
总结
这篇关于【优选算法系列】第一节.哈希表简介(1. 两数之和and面试题 01.02. 判定是否互为字符重排)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!