第一周

Polycarp不喜欢可以被3整除的或以数字3结尾的。Polycarp也不喜欢同时满足这两个条件的整数。
Polycarp从1开始写出他喜欢的正整数(1,2,4,5,7,8,10,11,14,16,…)请输出此序列的第k个元素。

输入
第一行包含一个整数 𝑡 (1 ≤ 𝑡 ≤ 100) ——测试用例的数量。然后𝑡个测试用例如下。
每个测试用例由一行包含一个整数 k 组成(1≤𝑘≤1000)。

输出
对于每个测试用例,在单独的行中输出一个整数𝑥,为Polycarp所写的数字。
eg:
input:

10 
1 
2 
3 
4 
5 
6 
7 
8 
9 
1000

out:

1 
2 
4 
5 
7 
8 
10 
11 
14 
1666

第二周

霜霜从山脚下往山上跳台阶,每次可以跳一级或者两级台阶,问要跳到n级台阶,一共有多少种跳法?
(ps:这个就是上次分享的原题,希望同学们自己理解并做出来,尤其是第一种,第一种的递归方法将在往后几周的题目中会出现)

题目链接

第三周

这周有三道类似的题,主要还是为了理解这个思路

如果对以上名词不是很理解,可以先看这篇文章二叉树入门

第四周

这周题目描述很简单:手写一个快排。

重点在于理解其思想,具体解释会在周五发出来。

第五周

求一个树深,还是用递归

二叉树的最大深度

第六周

用递归翻转二叉树

这里有一个梗

这个问题是受到 Max Howell 的 原问题 启发的 :

谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。

翻转二叉树

第七周

二叉搜索树的最近公共祖先

注意:这里是二叉搜索树,要用到搜索树的概念

第八周

验证二叉搜索树

第九周

对称二叉树

第十周

丢失的数字