摘要: 面试中的能力 写了一半了,不小心退出了。md难受心累,不想写了。 面试题53 二分查找区间的左右端点。有时需要利用索引和储存元素的关系设计二分方法。 面试题54 BST第k大,进行中序遍历即可。 面试题55 二叉树的深度,递归求解即可。求平衡二叉树需要注意一下,利用后序遍历可以减少重复访问树节点的代 阅读全文
posted @ 2020-08-01 10:48 haydenhs 阅读(88) 评论(0) 推荐(0)
摘要: 时空效率优化 主要指的是时间和空间复杂度的权衡。感觉大的出发点有两个: 顺序存储/随机存储两种方式对查找/删除的影响,以及如何配合使用几种不同数据结构 递归/循环实现,递归中能否使用动态规划优化减少子问题 面试题39 查找出现次数超过一半的数字。一半显然对应着中位数,因此只需要进行基于快排划分的期望 阅读全文
posted @ 2020-07-30 22:15 haydenhs 阅读(231) 评论(0) 推荐(0)
摘要: 面试思路 这部分其实说的很好,算法是能力,但是面试是“技巧+能力”。面试不能够充分反应一个人的算法水平,但是配合一些技巧可以帮助展现出自己的水平。结合书中内容和自己的做题,总结了以下内容: 画图把问题具体化,比较适合栈与队列、树、图的问题 没有思路时记得举例子,从中发现规律 把新的问题通过转化变成小 阅读全文
posted @ 2020-07-26 20:13 haydenhs 阅读(107) 评论(0) 推荐(0)
摘要: 主要内容 高质量代码主要是原书第3章的内容,代码需要有以下几点注意: 规范性:变量命名、布局合理 完整性:边界条件的处理、数据类型表示的范围、错误输入 面试题16 求一个double数据的整数次方。看起来是考察快速幂计算的内容。但是需要考虑细节问题,边界条件出现在指数为0和为1的情况,还有底数指数同 阅读全文
posted @ 2020-07-26 12:04 haydenhs 阅读(98) 评论(0) 推荐(0)
摘要: 基础知识 基础知识部分是书中的第2章2.3、2.4节,主要是关于数据结构和基础算法的使用。对应编号为面试题3-面试题15 面试题3 求解数组重复数字。最简单的思路直接哈希的话需要空间复杂度O(n),可以优化到O(1),核心思想是利用给出数组的位置下标记录了对应的数字,当比较的时候遇到了已经交换到对应 阅读全文
posted @ 2020-07-25 23:00 haydenhs 阅读(103) 评论(0) 推荐(0)
摘要: C++ STL为使用者提供了一系列类模版,使用者在使用时,可以根据自己需要的数据类型将STL中的类模版实例化为自己所需类型。因此这些操作被称为STL容器操作,以下主要整理了一些做题中常用到的操作。 从数据的存储方式和允许的操作上来看,容器分类主要有: 序列式容器 关联式容器 无序关联容器 容器适配器 阅读全文
posted @ 2020-07-15 20:36 haydenhs 阅读(160) 评论(0) 推荐(0)
摘要: 一边准备秋招还要一边准备期末考试,苦逼啊~ 随机算法 随机算法简介 通过概率和统计方法在算法执行过程中对于下一计算步骤作出随机选择来求解问题。这也表明随机算法的解、时间复杂度具有随机性,结果是否正确也具有随机性。 随机算法的好处: 实现上比较简单 如果对应问题的非随机算法时间复杂度高,使用随机算法或 阅读全文
posted @ 2020-07-08 16:13 haydenhs 阅读(1245) 评论(0) 推荐(0)
摘要: 按照剑指offer顺序,第二章内容是关于基础知识的部分。以下主要是关于C++语言的内容总结,主要是针对之前有些不太了解的地方,作一下简略的记录,可能主观性较强,想到哪里就写到哪里,后续会不断补充。与STL和刷题有关的知识会放在另外的地方。 关于const const与指针 const int * p 阅读全文
posted @ 2020-07-07 21:21 haydenhs 阅读(165) 评论(0) 推荐(0)
摘要: 这部分主要用来回顾剑指offer,之前做过的剑指offer题目主要是在leetcode上面完成的,没有仔细过一遍纸质版书总觉得不放心。 面试准备 编程习惯上,需要注意: 先思考解决问题的方法,需要用到哪些知识点,以及对应的时间/空间复杂度,再动笔 想好测试用例,注意边界情况 调试代码的能力 介绍项目 阅读全文
posted @ 2020-07-07 14:33 haydenhs 阅读(112) 评论(0) 推荐(0)
摘要: 第一次做LeetCode周赛,总结一下。 听说这次好像服务器出了问题,我做的时候前40分钟巨卡无比,基本交不上。当然我本来也菜,一路踩了很多坑,最后只解决了两道半。 题目1: 给你一个字符串 path,其中 path[i] 的值可以是 'N'、'S'、'E' 或者 'W',分别表示向北、向南、向东、 阅读全文
posted @ 2020-07-01 15:43 haydenhs 阅读(148) 评论(0) 推荐(0)