Skip to content
forked from karaysn/ZuoCode

《程序员代码面试指南》

Notifications You must be signed in to change notification settings

lupengk/ZuoCode

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZuoCode

《程序员代码面试指南》

数据结构

问题一 KMP算法
问题二 冒泡排序法
问题三 插入排序
问题四 选择排序
问题五 堆排序
问题六 快速排序
问题七 全排列字典序递归

第一章 栈和队列

问题一 设计一个有getMin功能的栈
问题二 用两个栈实现一个队列和用两个队列实现一个栈
问题三 用递归函数和一个栈来逆序一个栈
问题四 生成窗口的最大值
问题五 用一个辅助栈来排序另一个栈
问题六 求最大子矩阵的大小

第二章 链表

问题一 找出两个栈的公共部分
问题二 删除链表倒数第K个节点
问题三 反转单链表和双向链表
问题四 反转部分单链表
问题五 约瑟夫环
问题六 判断一个链表是否为回文结构
问题七 两个链表组成一个链表
问题八 环的一些操作
问题九 找两个环的交点
问题十 复杂链表的复制
问题十一 删除链表中指定值的结点
问题十二 向环形链表中插入新节点
问题十三 一种怪异的结点删除方式

第三章 二叉树

问题一 三种非递归遍历二叉树
问题二 序列化和反序列化二叉树
问题三 之字形打印二叉树
问题四 判断t1树是否包含t2树的全部拓扑结构
问题五 查询二叉树中指定值最大的路径长度
问题六 判断一个二叉树是否为完全二叉树
问题七 通过有序数组生成平衡搜索二叉树
问题八 中序遍历找二叉树的后续节点
问题九 判断一棵二叉树是不是平衡二叉树

第四章 动态规划

问题一 矩阵的最小路径和
问题二 最少换钱数钱有无数张
问题三 最长子序列长度 不要求连续
问题四 求最长子序列 不要求连续
问题五 求最长子串 要求连续
问题六 换钱的方法数

第五章 字符串问题

问题一 判断两个字符串是否为变形词
问题二 字符串中数字子串的求和
问题三 去掉字符串中连续出现K个0的子串
问题四 判断两个字符串是否为互旋词
问题五 替换字符串中连续出现的指定字符串
问题六 字符串的统计字符串
问题七 判断字符串数组中是否所有字符都只出现一次
问题八 字符串的替换和调整
问题九 翻转字符串
问题十 数组中两个字符串的最小距离
问题十一 括号字符串的有效性和最大有效长度
问题十二 拼接所有字符串产生字典顺序最小的字符串
问题十三 找到字符串的最长无重复字符子串长度
问题十四 找到被指的新类型字符串

第七章 位运算

问题一 交换两个数字
问题二 位运算的加法减法乘法
问题三 计算一个数二进制表示中1的个数
问题四 在数组其他数都出现偶数次中找出出现奇数次的数
问题五 在数组其他数都出现K次中找出只出现一次的数

第八章 数组和矩阵问题

问题一 转圈打印矩阵
问题二 将正方形矩阵顺时针转动90度
问题三 之字形打印矩阵
问题四 找到无序数组中最小的K个数字
问题五 需要排序的最短子数组长度
问题六 在数组中找到出现次数大于N/K的数
问题七 在行列都排好序的矩阵中找数
问题八 最长的可整合子数组的长度
问题九 不重复打印排序数组中相加和为给定值的所有二元组和三元组
问题十 未排序正数数组中累加和为给定值的最长子数组长度
问题十一 未排序数组中累加和为给定值的最长子数组系列问题
问题十二 未排序数组中累加和小于或等于给定值的最长子数组长度
问题十三 自然数组的排序
问题十四 奇数下标都是奇数或者偶数下标都是偶数
问题十五 子数组的最大累加和问题
问题十六 子矩阵的最大累加和
问题十七 在数组中找到一个局部最小的位置
问题十八 数组中求子数组最大的累乘积
问题十九 不包含本位置的累乘数组,不用除法
问题二十 数组的partition调整
问题二十一 求最短通路径
问题二十二 数组中最小的正整数

第九章 其它问题

问题一 求最小公倍数和最大公约数
问题二 求阶乘结果0的个数和阶乘用二进制表示1所在的位置
问题三 从N个数中等概率打印M个数
问题四 判断一个数字是否为回文数字

About

《程序员代码面试指南》

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published