这很可能是左老师最后一期牛课堂了(全程视频已上传)10.28
非常遗憾的告诉大家,由于左程云老师的个人时间安排问题,左老师短期内很难再给大家继续奉献每周三晚的牛课堂了,明天这期将是左老师的最后一期牛课堂。牛客网充分肯定左程云老师这半年多来给大家带来的直播课程,在此特意感谢左程云老师!同时牛客网也将继续物色优秀的老师来为大家奉献同样高质量的直播课程,在牛客网找到合适的老师以前,牛课堂可能会暂停两到三期,到时会给大家说明最新进展。
【本期题目】
题目一
一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请找到这两个错误节点并返回。已知二叉树中所有节点的值都不一样,给定二叉树的头节点 head,返回一个长度为2的二叉树节点类型的数组errs,errs[0]表示一个错误节点,errs[1]表示另一个错误节点。
进阶:如果在原问题中得到了这两个错误节点,我们当然可以通过交换两个节点的节 点值的方式让整棵二叉树重新成为搜索二叉树。但现在要求你不能这么做,而是在结构上 完全交换两个节点的位置,请实现调整的函数。
题目二
判断一个数是否是回文数,定义回文数的概念如下:
1,如果一个非负数左右完全对应,则该数是回文数,例如:121,22 等。
2,如果一个负数的绝对值左右完全对应,也是回文数,例如:-121,-22 等。
给定一个32位整数num,判断num是否是回文数。
题目三
正数数组的最小不可组成和
【题目】
给定一个正数数组arr,其中所有的值都为整数,以下是最小不可组成和的概念:
1,把arr 每个子集内的所有元素加起来会出现很多值,其中最小的记为min,最大的为max。
2,在区间[min,max]上,如果有数不可以被arr 某一个子集相加得到,那么其中最小的数是arr的最小不可组成和。
3,在区间[min,max]上,如果所有的数都可以被arr的某一个子集相加得到,那么max+1是arr的最小不可组成和。
请写函数返回正数数组arr的最小不可组成和。
【进阶题目】
如果已知正数数组arr中肯定有1这个数,是否能更快地得到最小不可组成和?
【分享嘉宾介绍】
左程云
华中科技大学本科--计算机科学与技术专业、 芝加哥大学硕士--计算机科学专业
IBM软件工程师、 百度软件工程师、 刷题5年的算法热爱者
《程序员代码面试指南--IT名企算法与数据结构题目最优解》 作者,书籍涉及算法与数据结构编程题目240道以上,并且个人实现出最优解,大部分题目为面试高频题
【参与牛客堂直播】
每周三晚8:00~9:30,直播页面http://www.nowcoder.com/live/courses
【直播题目讨论】
加入牛客5群272820159