摘要: 组给出两个整数n和k,返回从1......n中选出的k个数的组合。 样例 例如 n = 4 且 k = 2 返回的解为: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4]] 递归回溯思想,用k控制内循环次数,从而控制每一个元素中数的个数 class Solution: """ 阅读全文
posted @ 2018-01-05 11:11 Tom_NCU 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 给定一棵具有不同节点值的二叉查找树,删除树中与给定值相同的节点。如果树中没有相同值的节点,就不做任何处理。你应该保证处理之后的树仍是二叉查找树。 九章,简单思路。将删除节点转为重建二叉树。先遍历二叉查找树,将非删除节点值以外节点存入,然后重建二叉树。 有一个小bug,题意要求如果没有相同节点就不做任 阅读全文
posted @ 2018-01-05 10:19 Tom_NCU 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1.安装matlab engine api Build in Nondefault Folder, Install in Default Folder If you do not have write permission to build the engine in the MATLAB® fol 阅读全文
posted @ 2018-01-04 17:10 Tom_NCU 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将二叉树序列化为一个字符串,并且可以将字符串反序列化为原来的树结构。 样例 给出一个测试数据样例, 二叉树{3, 阅读全文
posted @ 2018-01-04 15:26 Tom_NCU 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 根据前序遍历和中序遍历树构造二叉树. 注意事项 你可以假设树中不存在相同数值的节点 样例 给出中序遍历:[1,2,3]和前序遍历:[2,1,3]. 返回如下的树: 2 / \ 1 3思路:前序遍历的第一个节点为根节点,在中序遍历中,其左边点数为根节点的左节点,右为右节点 class S 阅读全文
posted @ 2018-01-04 10:50 Tom_NCU 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,判断它是否是合法的二叉查找树(BST) 一棵BST定义为: 节点的左子树中的值要严格小于该节点的值。 节点的右子树中的值要严格大于该节点的值。 左右子树也必须是二叉查找树。 一个节点的树也是二叉查找树。 样例 一个例子: 2 / \ 1 4 / \ 3 5思路:左 < root <右 阅读全文
posted @ 2018-01-04 10:03 Tom_NCU 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 前序遍历 给出一棵二叉树,返回其节点值的前序遍历。 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3]. class Solution: """ @param: root: A Tree @return: Preorder in ArrayList which co 阅读全文
posted @ 2017-12-27 16:24 Tom_NCU 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 简单排序算法 1.插入排序,时间复杂度O(N^2),空间复杂度O(1) 针对一个已排序序列,将元素插入某位,后续元素后移 2.选择排序,时间复杂度O(n^2),空间复杂度O(1) 按递增方式选出元素,按顺序排放即可 3.交换排序 一个序列没排好序,那么其中一定有逆序存在,不断减少逆序对,则最终得到排 阅读全文
posted @ 2017-12-26 21:46 Tom_NCU 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 给定一个单链表L: L0→L1→…→Ln-1→Ln, 重新排列后为:L0→Ln→L1→Ln-1→L2→Ln-2→… 必须在不改变节点值的情况下进行原地操作。 样例 给出链表 1->2->3->4->null,重新排列后为1->4->2->3->null。 思路: 将链表一分为二,后半段逆序插入前半段 阅读全文
posted @ 2017-12-26 10:49 Tom_NCU 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 判断你是否能到达数组的最后一个位置。 注意事项 这个问题有两个方法,一个是贪心和 动态规划。 贪心方法时间复杂度为O(N)。 动态规划方法的时间复杂度为为O(n^2)。 我们手动设置小型数据集 阅读全文
posted @ 2017-12-21 10:07 Tom_NCU 阅读(162) 评论(0) 推荐(0) 编辑