《程序员代码面试指南第二版》Python实现(个人读书笔记)

2023-10-27

说明

        最近在读左神的书---《程序员代码面试指南-IT名企算法与数据结构题目最优解(第二版)》以及看了一些左神的基础、进阶、高频等视频课程,为了记录自己的学习成果,并且方便以后查看,将自己的想法与使用python实现的代码记录在此博客。

视频

    基础

           时间复杂度

           对数器

           冒泡排序

           冒泡排序对数器测试

           选择排序

           插入排序

           递归行为时间复杂度公式  

           归并排序

           小和问题

           逆序对问题

           荷兰国旗问题

           快速排序

           随机快速排序

           堆排序

           排序算法稳定性

           桶排序

           用列表实现大小固定的队列和栈

           设计一个有getMin功能的栈

           由两个栈组成的队列

           转圈打印矩阵

           旋转正方形矩阵

           “之”字形打印矩阵

           反转单向和双向链表

           在行列都排好序的矩阵中找到指定数

           打印两个有序链表的公共部分

           判断一个链表是否是回文结构

           将单向链表按某值分成左边小、中间相等、右边大的形式

           实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式

           如何直观的打印一颗二叉树

           判断一颗二叉树是否为搜索二叉树和完全二叉树

           折纸问题

           判断一颗二叉树是否是平衡二叉树

           二叉树的序列化和反序列化

           在二叉树中找到一个节点的后继节点

           统计完全二叉树的节点数

           设计RandomPool结构

           认识哈希函数(散列函数)

           认识布隆过滤器  

           一致性哈希算法的基本原理

           岛问题

           并查集的实现

           字典数(前缀树)的实现

           分金条的最小花费

           随时找到数据流中的中位数

           做项目的最大收益  

           拼接所有字符串产生字典顺序最小的大写字符串        

    进阶

           生成窗口最大值数组

           单调栈结构

           求最大子矩阵的大小

           最大值减去最小值小于或等于num的子数组数量

           可见的山峰对数量

           遍历二叉树的神级方法(Morris遍历)

           找到二叉树中的最大搜索子树        

           判断一颗二叉树是否是平衡二叉树

           二叉树节点间的最大距离

           派对的最大快乐值   

           机器人达到指定位置方法数

           换钱的方法数

           排成一条线的纸牌博弈问题

           未排序正整数组中累加和为指定值的最长子数组长度

           未排序数组中累加和为给定值的最长子数组系列问题

 

书籍

   栈和队列

           设计一个有getMin功能的栈

           由两个栈组成的队列 

           用一个栈实现另一个栈的排序

           如何仅用递归函数和栈操作逆序一个栈

           生成窗口最大值数组

           单调栈结构

           求最大子矩阵的大小

           最大值减去最小值小于或等于num的子数组数量

           可见的山峰对数量

   链表问题         

           打印两个有序链表的公共部分

           在单链表和双链表中删除倒数第K个节点

           删除链表的中间节点和a/b处的节点

           反转单项和双向链表

           反转部分单向链表

           判断一个链表是否是回文结构

           将单向链表按某值分成左边小、中间相等、右边大的形式

           在二叉树中找到一个节点的后继节点

           两个单链表生成相加链表

           将单链表的每K个节点之间逆序

           删除无序单链表中值重复出现的节点

           单链表中删除指定值的节点

           将搜索二叉树转换成双向链表

           单链表的选择排序

           一种怪异的节点删除方式

           向有环的环形链表中插入新节点

           合并两个有序的单链表

           按照左右半区的方式重新组合单链表

   二叉树问题

           实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式

           如何直观的打印一颗二叉树

           二叉树的按层打印和ZigZag打印

           在二叉树中找到一个节点的后继节点

           判断一颗二叉树是否为搜索二叉树和完全二叉树

           判断一颗二叉树是否是平衡二叉树

           二叉树的序列化和反序列化

           遍历二叉树的神级方法(Morris遍历)

           找到二叉树中的最大搜索子树

           调整搜索二叉树中两个错误的节点

           在二叉树中找到一个节点的后继节点

           统计完全二叉树的节点数

           二叉树节点间的最大距离

           派对的最大快乐值     

           统计和生成所有不同的二叉树

           通过先序和中序数组生成后续数组    

           找到二叉树中符合搜索二叉树条件的最大拓扑结构

           通过有序数组生成平衡搜索二叉树

           根据后续数组重建搜索二叉树

           在二叉树中找到累加和为指定值的最长路径长度

           打印二叉树的边界节点

           判断t1树是否包含t2树全部的拓扑结构

   递归和动态规划

           斐波那契问题的递归和动态规划

           矩阵的最小路径和

           机器人达到指定位置方法数

           换钱的最少货币数

           换钱的方法数

           排成一条线的纸牌博弈问题

           信封嵌套问题

           最长递增子序列

           数组中最长连续序列

           跳跃游戏

           数字字符串转化为字母组合的种数 

           龙与地下城游戏问题

           字符串的交错组成

           最小编辑代价

           最长公共子串问题       

           最长公共子序列问题           

   字符串问题

           拼接所有字符串产生字典顺序最小的大写字符串   

           字典数(前缀树)的实现

           判断两个字符串是否是变形词

           判断两个字符串是否为旋转词

           将整型字符串转成整数值

           字符串的统计字符串

           判断字符串数组中是否所有字符只出现了一次

          在有序但含有空的数组中查找字符串

          字符串的调整和替换

          翻转字符串

          找到指定的新类型字符

          括号字符串的有效性和最长有效长度

          找到字符串的最长无重复字符子串

          数组中两个字符串的最小距离

   大数据和空间限制

           认识布隆过滤器  

           只有2GB内存在20亿个整数中找到出现次数最多的数

           40个亿非负整数中找到未出现的数

           找到100亿个URL中重复的URL及搜索词汇的TopK问题

           一致性哈希算法的基本原理

           岛问题            

   位运算

            在其他数都出现k次的数组中找到只出现一次的数

            在其他数都出现偶数次的数组中找到出现奇数次的数

            整数的二进制表达中有多少个1

            只用位运算不用算术运算实现

            不用任何比较判断找出两个数中较大的数

            不用额外变量交换两个整数的值            

   数组和矩阵问题

             转圈打印矩阵

             旋转正方形矩阵

             “之”字形打印矩阵

             在行列都排好序的矩阵中找到指定数

             未排序正整数组中累加和为指定值的最长子数组长度

             未排序数组中累加和为给定值的最长子数组系列问题

             计算数组的小和

             在数组中找到一个局部最小的位置

             子矩阵的最大累加和问题

             数组中子数组的最大累乘积

             自然数组的排序

             奇数下标都是奇数或者偶数下标都是偶数

             子数组的最大累加和问题

             打印N个数组整体最大的TopK

             数组的partition调整

             数组排序之后相邻数的最大差值

             做项目的最大收益    

             分金条的最小花费

             求最短通路值

             不包含本位置值的累乘数组

             边界都是1的最大正方形大小

             不重复打印排序数组中相加和为给定值的所有二元组和三元组

             最长的可整合子数组的长度

   其它题目

            折纸问题​​​​​​​​​​​​​​

            设计RandomPool结构​​​​​​​  

            并查集的实现

            随时找到数据流中的中位数

            判断一个点是否在矩形内部

            设计有setAll功能的哈希表

            一行代码求两个数的最大公约数

            判断一个点是否在三角形内部

            能否完美拼成矩形

            调整[0,x)区间上出现的概率

            从N个数中等概率打印M个数

            判断一个数是否是回文数

            从5随机到7随机及其扩展

            正数数组的最小不可组成和

            累加出整个范围所有的数最少还需要几个数

            在有序旋转数组中找到最小值​​​​​​​            

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《程序员代码面试指南第二版》Python实现(个人读书笔记) 的相关文章

  • 深度学习对模型进行微调

    首先 为什么对模型进行微调 当我们得到一个深度学习任务时 例如 一个涉及在图像数据集上训练卷积神经网络 Covnet 的任务 我们的第一直觉将是从头开始训练网络 然而 在实践中 像 Covnet 这样的深度神经网络具有大量的参数 通常在百万
  • matlab绘制二次曲线,并找出最大值位置(找出两曲线的最大差值点)

    绘制二次曲线源代码及方法如何用matlab画Y X 2的图啊 百度知道 画出函数曲线后 找出最大值点的坐标 求助 matlab画曲线后 求其上面最大值那一点的坐标 百度知道 ymax tp max y y为你的图形中纵坐标显示的变量名 ym
  • pnpm全局安装nodejs异常

    准备使用pnpm管理nodejs 但是设置了nodejs安装路径之后 nodejs就无法安装了o o C Users 用户名 AppData Local pnpm config rc 中删除nodejs的配置 将rc的global bin
  • Robot Framework做UI自动化测试

    Selenium2Library库安装与配置 selenium是一款用于Web应用程序测试的工具 它支持多平台 多语言 多浏览器去实现自动化测试 针对robot framework的库有两个 SeleniumLibrary和Selenium
  • Vue 组件注册

    Vue 组件注册 我们先来看一下什么是组件 Vue js的组件就是提高重用性的 让代码可复用 下面是一个Vue组件的示例 现在可以不用理解下面的代码 div div

随机推荐