摘要:
问题: 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明: 你 阅读全文
摘要:
题目描述 写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。 正常人解法: 1 #include<iostream> 2 using namespace std; 3 int main(){ 4 float num; 5 cin>>n 阅读全文
摘要:
题目描述: 功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最后一个数后面也要有空格 解答: 傻了这题,根本不用考虑是否是质数的问题。 我考虑到如果除4除6这种非质数怎么处理。但实际上被除数从2开始往上递增,如果能整除就不增加,看除法的结果 阅读全文
摘要:
题目描述 给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是 阅读全文
摘要:
题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4] 阅读全文
摘要:
题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 解答: 阅读全文
摘要:
题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。 解: 由于二叉搜索树的中序遍历是升序,所以在中序基础上添加计数器即可。 1 class Solution { 2 public: 3 TreeNode* Kth 阅读全文
摘要:
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 方法1: 正常层次遍历,利用普通队列。逢奇数行(从0算起)就把该层结果逆序。 1 class Solution { 2 public: 3 ve 阅读全文
摘要:
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 写法1: 当前遍历到cur节点,如果cur->next和cur->next->next的值相同,说明找到了重复节点, 阅读全文
摘要:
首先给段代码: 1 class A{ 2 public: 3 int x=0; 4 A():x(1){cout<<"A(): x="<<x<<endl;} 5 A(int a):x(a){cout<<"A(int a): x="<<x<<endl;} 6 A(int a,int b):x(a){ 7 阅读全文