【试题描述】统计一个数字在排序数组中出现的次数。例如输入的排序数组{1, 2, 3, 3, 3, 3, 4, 5}
和数字3,由于3在这个数组中出现了4次,因此输出4。
【试题来源】未知
【参考代码】
int GetFirstK(int array[], int length, int start, int end, int k) { |
【试题描述】统计一个数字在排序数组中出现的次数。例如输入的排序数组{1, 2, 3, 3, 3, 3, 4, 5}
和数字3,由于3在这个数组中出现了4次,因此输出4。
【试题来源】未知
【参考代码】
int GetFirstK(int array[], int length, int start, int end, int k) { |
【试题描述】数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
【试题来源】未知
【试题分析】时间复杂度O(n),空间复杂度O(1)
【参考代码】
int findMoreThanHalf(int array[], int n) { |
【试题描述】输入n个整数,找出其中最小的k个数。
【试题来源】未知
【参考代码】
void leastKNum(int array[], int n, int k) { |
最大K个数代码如下:
void topKNum(int array[], int n, int k) { |
【试题描述】输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。
求所有子数组的和的最大值。要求时间复杂度O(n)。
【试题来源】未知
【参考代码】
int findGreastestSumOfSubArray(int array[], int n) { |
【试题描述】输入一个整数数组,判断该数组是不是某二叉排序树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字互不相同。
【试题来源】未知
【参考代码】
#include <iostream> |
【试题描述】完成一个函数,输入一个二叉树输出它的镜像。
【试题来源】未知
【参考代码】
#include <iostream> |
【试题描述】从上往下打印二叉树
【试题来源】未知
【参考代码】
void printBinaryTree(const BinaryTreeNode* rootNode) { |
【试题描述】定义的数据结构,请在类型中实现一个能够得到栈的最小元素的函数。 在该栈中,调用min、push、pop的时间复杂度都是O(1)。
【试题来源】未知
【参考代码】
#include <iostream> |
【试题描述】合并两个递增排序的链表,合并这两个链表使得新链表的节点也是按递增的顺序拍列的。
【试题来源】未知
【参考代码】
#include <iostream> |
【试题描述】输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出序列。
【试题来源】未知
【参考代码】
#include <iostream> |