给定一个数组A,要求找到数组A中第K大的数字。对于这个问题,解决方案有不少,此处我只给出三种: 方法1: 对数组A进行排序,然后遍历一遍就可以找到第K大的数字。该方法的时间复杂度为O(N*logN) 方法2: 利用简单选择排序法的思想,每次通过比较选出最大的数字来,比较上K次就能找出第K大的数字来。 ...
分类:
编程语言 时间:
2018-04-12 20:51:16
阅读次数:
172
#ifndef MYBUTTON_H #define MYBUTTON_H #include class MyButton : public QPushButton { Q_OBJECT public: explicit MyButton(QWidget *parent = nullptr); pr... ...
分类:
其他好文 时间:
2018-04-06 11:01:33
阅读次数:
218
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。此题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例:给定有序数组: [-10,-3,0,5,9],一种可行答案是:[0,-3,9,-10,null,5],它可以表示成下面这个高度平衡二叉搜索树: 0 ...
分类:
编程语言 时间:
2018-04-04 23:17:29
阅读次数:
243
红黑树的节点增加一个成员变量,表示节点的颜色:红色或是黑色. 通过对任何一条从根到分支尾部路径上各个节点颜色进行约束,红黑树确保没有一条路径会比其他路径长出两倍.近似的平衡 因此是近似平衡的. 1 红黑树特点 一定满足:每个节点或是红色或是黑色 一定满足:叶子节点(nullptr)是黑色 也就是子节 ...
分类:
其他好文 时间:
2018-03-28 20:24:52
阅读次数:
165
题目:在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定价值(>0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格,直到到达棋盘的右下角。给定一个棋盘及其上面的礼物,请你计算你最多能拿到多少价值的礼物? 思路:典型的动态规划,在当前位置的收益等于左边及右边较大收益+加上 ...
分类:
其他好文 时间:
2018-03-21 00:08:14
阅读次数:
146
0 为什么会有多叉树 当在程序中存储数据的时候,可以使用二叉搜索树。 当输入的过于均匀的时候可能生成深度过大的二叉搜索树,最坏的情况是,输入节点的key按照大小排序,此时生成的二叉搜索树就是一个链表了。 因此,为了避免这种情况的出现,可以使用平衡二叉树,例如AVL和红黑树。 但二叉搜索树只是适用于数 ...
分类:
其他好文 时间:
2018-03-18 18:43:50
阅读次数:
165
0 问题 实现一个单例模式 1 分析 实现单例模式的关键在于: 2 实现 3 拓展 模板单例模式。派生自本模板的子类都是单例模式。 ...
分类:
其他好文 时间:
2018-03-13 12:21:07
阅读次数:
172
C++11特性 0.禁止使用 register auto_ptr export(标准有但没有编译器实现) 1.语言特性 空指针从NULL(0或者(void )0)改成了nullptr; 常量表达式constexpr,修饰的内容变成了常量,非负整数常量特点是可以作为数组元素个数 自动类型推导auto和 ...
分类:
编程语言 时间:
2018-02-19 12:41:12
阅读次数:
264
内存 字节数组 字节 位 内存中的每个位置都由一个独一无二的地址表示 内存中的每个位置都包含一个值 我们可以通过一个地址,找到内存中的某个具体位置,然后访问到该位置的值(允许的话) 指针是一个其值为地址的变量(存储地址的变量) &取址运算符 :当它后面跟一个变量名的时候,给出这个变量名的地址 int ...
分类:
编程语言 时间:
2018-01-28 18:14:28
阅读次数:
190
Given a binary tree, find the leftmost value in the last row of the tree. Example 1: Example 2: Note: You may assume the tree (i.e., the given root no ...
分类:
其他好文 时间:
2018-01-19 15:37:07
阅读次数:
136