leetcode正方形坐标 leetcode 比较经典的算法剑指 offer 公司笔试真题。算法简单中等,比较经典的算法动态规划:比如输入 abada 则返回 aba,输入 aaaa 则返回 aaaa。利用动态规划记录 ij 位置上是否为回文(ij 为起止坐标的子串)。

比如判断 abefba 是否回文,就判断首尾 a 和 a 是否相同,则判断子串(befb)是否为回文,如果是则 abefba 为回文。然后判断 befb 是否回文,就判断首尾 b 和 b 是否相同,则判断子串(ef)是否为回文,如果是则 befb 为回文,进而 abefba 为回文。

然后判断 ef 是否回文,就判断首尾 e 和 f 是否相同,不相同,则以上的 abefba,befb,ef 都不是回文。

需要注意的是 i 和 j 的顺序,防止出现短串没判断就判断长串。具体看代码注释。

动态规划:在已有的跳台阶基础上加上了可以跳 1-n 阶,所以由 f(n)=f(n-1)+f(n-1) 转为 f(n)=f(n-1)+f(n-2)+...+f(n-n) 即可。

二叉树:在给定的先序遍历和中序遍历还原二叉树:

  1. 先序的第一个为父节点(root)。

  2. 去中序...