查找问题
4-1,2
两类查找问题
1 查找有无:set
2 查找对应关系:map


常见的四种操作: insert, find, erase, change(map)

例题 leetcode 349 :给定两个数组,求两个数组的公共元素。

要求:结果中每个元素只能出现一次
出现的顺序可以是任意的

使用set,set的使用

改进后的代码:

leetcode 350

方法:使用map

映射是有默认值的,一旦被访问一次,就会分配默认值0;

扩展题:对于两个问题,如果数组有序?

4-3456
leetcode 454


解法:

组合逻辑将特定的内容放到查找表中,明确我们需要找到什么?
思考题:

练习题:
leetcode 49

注意问题:字符集的范围?是否大小写敏感?

leecode:447


观察到i是一个枢纽,对于每个点i,遍历其余点到i的距离,此时时间复杂度:O(N^2)

关键点:是至少两个点到i的距离相等。如果到n相等的有n个点,则对于该距离有n*(n-1)中满足条件
map(距离,频次)
为了避免两个点的真实距离出现小数点,故在求距离时,不开根号。不开根号的情况下也能保持两个点的相对距离大小。
代码如下:

两个数相乘的时候哦容易出现整型溢出,为了避免出现这种情况,可以将private下面的int 改成long long。

扩展题:leetcode 149

4-78滑动窗口+查找表

leetcode 219


在连续的区间k+1个元素中,是否能找到两个相等的元素。

对于该问题,滑动窗口的长度是固定的。

扩展题:leetcode:217

二分搜索数


x的取值范围就是【v-t,v+t】


相乘的时候为了避免整型溢出

玩转算法面试-第四章查找值之leetcod相关笔记相关推荐

  1. 玩转算法面试-第三章

    数组中常见的问题 排序: 选择排序:插入排序:归并排序:快速排序 查找:二分查找法 数据结构:栈:队列:堆 - 二分查找法: 1964年提出,没有bug的二分查找法是在1962年出现 对于有序的排列, ...

  2. 玩转算法面试习题列表

    题目来源于慕课网课程<玩转算法面试>. 第3章 数组 283 移动零 27 移除元素 26 删除排序数组中的重复项 80 删除排序数组中的重复项 II 75 颜色分类 88 合并两个有序数 ...

  3. 算法复习第四章动态规划

    算法复习第四章动态规划 动态规划 TSP问题 0-1bag 动态规划 TSP问题 0-1bag 最长公共子序列不考:

  4. bobo老师玩转算法面试,如何准备技术面试?

    看了慕课网bobo老师的玩转算法面试课程,做了一些笔记. 算法面试是什么? 算法面试需要有一个合理的思考路径:算法只是技术的一部分. 不代表能够"正确"回答每一个算法问题,但是合理 ...

  5. 玩转算法面试:(一)什么是算法面试?

    前言 对于面试中遇到的大多数问题 都能有一个合理的思考路径 沟通: 边界条件是怎样的? 数据范围如何? 某些术语是具体如何定义的? 基础数据结构 算法设计思想: 递归分治 贪心 动态规划 回溯搜索 L ...

  6. 算法基础课——第四章 数学知识(三)

    第四章 数学知识(三) 如无特殊说明,所有数均为正整数. 高斯消元 高斯消元是用来解方程的,可以在 O(n3)O(n^3)O(n3)​ 时间复杂度内求解一个 nnn 个方程 nnn 个未知数 的多元线 ...

  7. 算法基础课——第四章 数学知识(一)

    第四章 数学知识(一) 如无特殊说明,所有数均为正整数 质数 质数: 针对所有大于 111​​​ 的自然数来说,如果只包含 111​​ 和本身 这两个约数,就被称为质数,或者叫素数:否则被称为 合数. ...

  8. 斗地主AI算法——第十四章の主动出牌(3)

    上一章已经排除了飞机.三带等牌型,那么除去炸弹王炸以外,我们只剩下单牌.对牌.三牌以及单顺.双顺.三顺了. 首先说单牌.对牌.三牌.其逻辑基本一样,只是出牌的个数有差别,即:如果该i牌数量满足这种牌型 ...

  9. 【Java数据结构与算法】第四章 栈实现综合计算器

    第四章 栈实现综合计算器 文章目录 第四章 栈实现综合计算器 一.栈 1.介绍 2.应用场景 3.思路 4.代码实现 二.综合计算器 v1.0 1.思路 2.代码实现 三.前缀.中缀和后缀表达式规则 ...

最新文章

  1. JavaScript设计模式--简单工厂模式例子---XHR工厂
  2. DPM2010恢复整个邮箱数据库
  3. GBDT!深入浅出详解梯度提升决策树
  4. linux指定查看文件目录,【Linux】查看指定目录下的每个文件或目录的大小
  5. 使用计算机仿真的作用是什么,计算机仿真及其在制造业中的应用
  6. 共享内存中使用指针_详解c++中字符指针数组的使用
  7. LeetCode 1637. 两点之间不包含任何点的最宽垂直面积
  8. 深入学习二叉树(四) 二叉排序树
  9. api token 什么意思_还分不清 Cookie、Session、Token、JWT?
  10. 华为金融业务部总裁曹冲:没有进入支付市场的计划
  11. 人在囧途!12306买到相同高铁票 回应:可能是机器故障
  12. 模拟电子技术不挂科学习笔记1(半导体基础、二极管)
  13. windows 安装 pip工具
  14. Yii2给数据库表添加字段后对应模型无法识别到该属性的原因和解决办法
  15. WEB2.0概念诠释
  16. 计算机系统的基础必备软件,电脑必装软件推荐:基础篇——够用就行
  17. mysql数据库连接报错:is not allowed to connect to this mysql server
  18. 数模转换器的构成和特点
  19. Microsoft Office安装全过程记录
  20. CSS的class常用命名规则

热门文章

  1. 最详细的U-BOOT源码分析及移植
  2. git命令:将多个commit提交记录修改为1条
  3. C语言不调用库函数画一个三角形
  4. Linux Storage入门学习
  5. 统计app用户在线时长_「云工作普及系列」2.如何实时统计工作时长,提高工作效率
  6. 笔记本电脑关机快捷键_2020年双十一值得入手的高性价比笔记本电脑外设推荐...
  7. LeetCode 1430. 判断给定的序列是否是二叉树从根到叶的路径(递归)
  8. LeetCode 800. 相似 RGB 颜色
  9. [Hands On ML] 3. 分类(MNIST手写数字预测)
  10. LeetCode 934. 最短的桥(2次BFS)