热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Javaweb项目结构

栈和队列部分(10)设计一个有getMin功能的栈(士★☆☆☆)由两个栈组成的队列(尉★★☆☆)
栈和队列部分(10)
  1. 设计一个有getMin功能的栈(士★☆☆☆)

  2. 由两个栈组成的队列(尉★★☆☆)

  3. 如何仅用递归函数和栈操作逆序一个栈(尉★★☆☆)

  4. 猫狗队列(士★☆☆☆)

  5. 用一个栈实现另一个栈的排序(士★☆☆☆)

  6. 用栈来求解汉诺塔问题(校★★★☆)

  7. 生成窗口最大值数组(尉★★☆☆)

  8. 构造数组的MaxTree(校★★★☆)

  9. 求最大子矩阵的大小(校★★★☆)

  10. 最大值减去最小值小于或等于num的子数组数量(校★★★☆)


链表问题(20)
  1. 打印两个有序链表的公共部分(士★☆☆☆)

  2. 在单链表和双链表中删除倒数第K 个节点(士★☆☆☆)

  3. 删除链表的中间节点和a/b 处的节点(士★☆☆☆)

  4. 反转单向和双向链表(士★☆☆☆)

  5. 反转部分单向链表(士★☆☆☆)

  6. 环形单链表的约瑟夫问题(原问题:士★☆☆☆进阶:校★★★☆)

  7. 判断一个链表是否为回文结构(普通解法士★☆☆☆)(进阶解法尉★★☆☆)

  8. 将单向链表按某值划分成左边小、中间相等、右边大的形式(尉★★☆☆)

  9. 复制含有随机指针节点的链表(尉★★☆☆)

  10. 两个单链表生成相加链表(士★☆☆☆)

  11. 两个单链表相交的一系列问题(将★★★★)

  12. 将单链表的每K个节点之间逆序(尉★★☆☆)

  13. 删除无序单链表中值重复出现的节点(士★☆☆☆)

  14. 在单链表中删除指定值的节点(士★☆☆☆)

  15. 将搜索二叉树转换成双向链表(尉★★☆☆)

  16. 单链表的选择排序(士★☆☆☆)

  17. 一种怪异的节点删除方式(士★☆☆☆)

  18. 向有序的环形单链表中插入新节点(士★☆☆☆)

  19. 合并两个有序的单链表(士★☆☆☆)

  20. 按照左右半区的方式重新组合单链表(士★☆☆☆)


二叉树问题(24)
  1. 分别用递归和非递归方式实现二叉树先序、中序和后序遍历(校★★★☆)

  2. 打印二叉树的边界节点(尉★★☆☆)

  3. 如何较为直观地打印二叉树(尉★★☆☆)

  4. 二叉树的序列化和反序列化(士★☆☆☆)

  5. 遍历二叉树的神级方法(将★★★★)

  6. 在二叉树中找到累加和为指定值的最长路径长度(尉★★☆☆)

  7. 找到二叉树中的最大搜索二叉子树(尉★★☆☆)

  8. 找到二叉树中符合搜索二叉树条件的最大拓扑结构(校★★★☆)

  9. 二叉树的按层打印与ZigZag打印(尉★★☆☆)

  10. 调整搜索二叉树中两个错误的节点(原问题:尉★★☆☆)(进阶问题:将★★★★)

  11. 判断t1 树是否包含t2 树全部的拓扑结构(士★☆☆☆)

  12. 判断t1 树中是否有与t2 树拓扑结构完全相同的子树(校★★★☆)

  13. 判断二叉树是否为平衡二叉树(士★☆☆☆)

  14. 根据后序数组重建搜索二叉树(士★☆☆☆)

  15. 判断一棵二叉树是否为搜索二叉树和完全二叉树(士★☆☆☆)

  16. 通过有序数组生成平衡搜索二叉树(士★☆☆☆)

  17. 在二叉树中找到一个节点的后继节点(尉★★☆☆)

  18. 在二叉树中找到两个节点的最近公共祖先(原问题:士★☆☆☆)(进阶问题:尉★★☆☆再进阶问题:校★★★☆)

  19. Tarjan算法与并查集解决二叉树节点间最近公共祖先的批量查询问题(校★★★☆)

  20. 二叉树节点间的最大距离问题(尉★★☆☆)

  21. 先序、中序和后序数组两两结合重构二叉树(先序与中序结合士★☆☆☆)(中序与后序结合士★☆☆☆先序与后序结合尉★★☆☆)

  22. 通过先序和中序数组生成后序数组(士★☆☆☆)

  23. 统计和生成所有不同的二叉树(尉★★☆☆)

  24. 统计完全二叉树的节点数(尉★★☆☆)


递归和动态规划(17)
  1. 斐波那契系列问题的递归和动态规划(将★★★★)

  2. 矩阵的最小路径和(尉★★☆☆)

  3. 换钱的最少货币数(尉★★☆☆)

  4. 换钱的方法数(尉★★☆☆)

  5. 最长递增子序列(校★★★☆)

  6. 汉诺塔问题(校★★★☆)

  7. 最长公共子序列问题(尉★★☆☆)

  8. 最长公共子串问题(校★★★☆)

  9. 最小编辑代价(校★★★☆)

  10. 字符串的交错组成(校★★★☆)

  11. 龙与地下城游戏问题(尉★★☆☆)

  12. 数字字符串转换为字母组合的种数(尉★★☆☆)

  13. 表达式得到期望结果的组成种数(校★★★☆)

  14. 排成一条线的纸牌博弈问题(尉★★☆☆)

  15. 跳跃游戏(士★☆☆☆)

  16. 数组中的最长连续序列(尉★★☆☆)

  17. N皇后问题(校★★★☆)


字符串问题(23)
  1. 判断两个字符串是否互为变形词(士★☆☆☆)

  2. 字符串中数字子串的求和(士★☆☆☆)

  3. 去掉字符串中连续出现k 个0 的子串(士★☆☆☆)

  4. 判断两个字符串是否互为旋转词(士★☆☆☆)

  5. 将整数字符串转成整数值(尉★★☆☆)

  6. 替换字符串中连续出现的指定字符串(士★☆☆☆)

  7. 字符串的统计字符串(士★☆☆☆)

  8. 判断字符数组中是否所有的字符都只出现过一次(按要求1 实现的方法士★☆☆☆)(按要求2 实现的方法尉★★☆☆)

  9. 在有序但含有空的数组中查找字符串(尉★★☆☆)

  10. 字符串的调整与替换(士★☆☆☆)

  11. 翻转字符串(士★☆☆☆)

  12. 数组中两个字符串的最小距离(尉★★☆☆)

  13. 添加最少字符使字符串整体都是回文字符串(校★★★☆)

  14. 括号字符串的有效性和最长有效长度(原问题士★☆☆☆)(补充问题尉★★☆☆)

  15. 公式字符串求值(校★★★☆)

  16. 0 左边必有1 的二进制字符串数量(校★★★☆)

  17. 拼接所有字符串产生字典顺序最小的大写字符串(校★★★☆)

  18. 找到字符串的最长无重复字符子串(尉★★☆☆)

  19. 找到被指的新类型字符(士★☆☆☆)

  20. 最小包含子串的长度(校★★★☆)

  21. 回文最少分割数(尉★★★☆)

  22. 字符串匹配问题(校★★★☆)

  23. 字典树(前缀树)的实现(尉★★☆☆)


大数据和空间限制(6)
  1. 认识布隆过滤器(尉★★☆☆)

  2. 只用2 GB 内存在20 亿个整数中找到出现次数最多的数(士★☆☆☆) .

  3. 40 亿个非负整数中找到没出现的数(尉★★☆☆)

  4. 找到100 亿个URL 中重复的URL 以及搜索词汇的top K 问题(士★☆☆☆)

  5. 40 亿个非负整数中找到出现两次的数和所有数的中位数(尉★★☆☆)

  6. 一致性哈希算法的基本原理(尉★★☆☆)


位运算(6)
  1. 不用额外变量交换两个整数的值(士★☆☆☆)

  2. 不用任何比较判断找出两个数中较大的数(校★★★☆)

  3. 只用位运算不用算术运算实现整数的加减乘除运算(尉★★☆☆)

  4. 整数的二进制表达中有多少个1 (尉★★☆☆)

  5. 在其他数都出现偶数次的数组中找到出现奇数次的数(尉★★☆☆)

  6. 在其他数都出现k 次的数组中找到只出现一次的数(尉★★☆☆)


数组和矩阵问题(26)
  1. 转圈打印矩阵(士★☆☆☆)

  2. 将正方形矩阵顺时针转动90 °(士★☆☆☆)

  3. "之"字形打印矩阵(士★☆☆☆)

  4. 找到无序数组中最小的k 个数(O(Nlogk)的方法尉★★☆☆)(O(N)的方法将★★★★)

  5. 需要排序的最短子数组长度(士★☆☆☆)

  6. 在数组中找到出现次数大于N/K 的数(校★★★☆)

  7. 在行列都排好序的矩阵中找数(士★☆☆☆)

  8. 最长的可整合子数组的长度(尉★★☆☆)

  9. 不重复打印排序数组中相加和为给定值的所有二元组和三元组(尉★★☆☆)

  10. 未排序正数数组中累加和为给定值的最长子数组长度(尉★★☆☆)

  11. 未排序数组中累加和为给定值的最长子数组系列问题(尉★★☆☆)

  12. 未排序数组中累加和小于或等于给定值的最长子数组长度(校★★★☆)

  13. 计算数组的小和(校★★★☆)

  14. 自然数数组的排序(士★☆☆☆)

  15. 奇数下标都是奇数或者偶数下标都是偶数(士★☆☆☆)

  16. 子数组的最大累加和问题(士★☆☆☆)

  17. 子矩阵的最大累加和问题(尉★★☆☆)

  18. 在数组中找到一个局部最小的位置(尉★★☆☆)

  19. 数组中子数组的最大累乘积(尉★★☆☆)

  20. 打印N 个数组整体最大的Top K(尉★★☆☆)

  21. 边界都是1 的最大正方形大小(尉★★☆☆)

  22. 不包含本位置值的累乘数组(士★☆☆☆)

  23. 数组的partition 调整(士★☆☆☆)

  24. 求最短通路值(尉★★☆☆)

  25. 数组中未出现的最小正整数(尉★★☆☆)

  26. 数组排序之后相邻数的最大差值(尉★★☆☆)


其他问题(34)
  1. 从5 随机到7 随机及其扩展(原问题尉★★☆☆补充问题尉★★☆☆)(进阶问题校★★★☆)

  2. 一行代码求两个数的最大公约数(士★★☆☆)

  3. 有关阶乘的两个问题(原问题尉★★☆☆进阶问题校★★★☆)

  4. 判断一个点是否在矩形内部(尉★★☆☆)

  5. 判断一个点是否在三角形内部(尉★★☆☆)

  6. 折纸问题(尉★★☆☆)

  7. 蓄水池算法(尉★★☆☆)

  8. 设计有setAll功能的哈希表(士★☆☆☆)

  9. 最大的leftMax与rightMax之差的绝对值(校★★★☆)

  10. 设计可以变更的缓存结构(尉★★☆☆)

  11. 设计RandomPool结构(尉★★☆☆)

  12. 调整[0 ,x)区间上的数出现的概率(士★☆☆☆)

  13. 路径数组变为统计数组(校★★★☆)

  14. 正数数组的最小不可组成和(尉★★☆☆)

  15. 一种字符串和数字的对应关系(校★★★☆)

  16. 1 到n 中1 出现的次数(校★★★☆)

  17. 从N 个数中等概率打印M 个数(士★☆☆☆)

  18. 判断一个数是否是回文数(士★☆☆☆)

  19. 在有序旋转数组中找到最小值(尉★★☆☆)

  20. 在有序旋转数组中找到一个数(尉★★☆☆)

  21. 数字的英文表达和中文表达(校★★★☆)

  22. 分糖果问题(校★★★☆)

  23. 一种消息接收并打印的结构设计(尉★★☆☆)

  24. 设计一个没有扩容负担的堆结构(将★★★★)

  25. 随时找到数据流的中位数(将★★★★)

  26. 在两个长度相等的排序数组中找到上中位数(尉★★☆☆)

  27. 在两个排序数组中找到第K 小的数(将★★★★)

  28. 两个有序数组间相加和的TOP K 问题(尉★★☆☆)

  29. 出现次数的TOP K 问题(原问题尉★★☆☆进阶问题校★★★☆)

  30. Manacher算法(将★★★★)

  31. KMP 算法(将★★★★)

  32. 丢棋子问题(校★★★☆)

  33. 画匠问题(校★★★☆)

  34. 邮局选址问题(校★★★☆)

题目可多,手打的要抽筋了…题目+答案(有分析有源码)就是一本完整的书《程序员代码面试指南 IT名企算法与数据结构题目最优解》,总共有532页。

image

总结

三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。

如果你对下面我说的这些笔记感兴趣,可以点赞+关注后,戳这里即可免费领取

  • 第一个是算法

关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。

而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本

《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

《算法的乐趣》共有23个章节:

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

  • 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)

基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

  • 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)

[外链图片转存中…(img-Dpeo1KvD-1627461245377)]

《算法的乐趣》共有23个章节:

[外链图片转存中…(img-IAOyL7BE-1627461245379)]

[外链图片转存中…(img-1b5fmRiS-1627461245381)]

  • 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)

基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)

[外链图片转存中…(img-Xa05kynG-1627461245383)]

  • 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?


推荐阅读
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 数据结构与算法的重要性及基本概念、存储结构和算法分析
    数据结构与算法在编程领域中的重要性不可忽视,无论从事何种岗位,都需要掌握数据结构和算法。本文介绍了数据结构与算法的基本概念、存储结构和算法分析。其中包括线性结构、树结构、图结构、栈、队列、串、查找、排序等内容。此外,还介绍了图论算法、贪婪算法、分治算法、动态规划、随机化算法和回溯算法等高级数据结构和算法。掌握这些知识对于提高编程能力、解决问题具有重要意义。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了源码分析--ConcurrentHashMap与HashTable(JDK1.8)相关的知识,希望对你有一定的参考价值。  Concu ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • 玩转直播系列之消息模块演进(3)
    一、背景即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的 ... [详细]
  • 有意向可以发简历到邮箱内推.简历直达组内Leader.能做同事的话,内推奖励全给你. ... [详细]
author-avatar
艳红双唇l丶乱了他神
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有