struct cmp { bool operator()(double a, double b) { return a > b; } }; class Solution { public: void Insert(int num) { if (((maxHeap.size() + minHeap.size()) & 1 )== 0)//如果是偶数,插入到最大堆里面 { if (minHeap.size()>0&&num > minHeap.top()) { int…
问题描述 输入一个链表,输出该链表中倒数第k个结点.(尾结点是倒数第一个) 结点定义如下: public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } 思路1: 先遍历链表,计算其长度length; 然后计算出倒数第k个结点就是正数第length - k + 1. 最后再遍历链表,找到所求结点 时间复杂度O(2n),需要遍历两次链表 代码如下: public List…
剑指Offer--笔试题+知识点总结 情景回顾 时间:2016.9.23 12:00-14:00 19:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:笔试 注意事项:要有大局观,该舍弃的还是要舍弃,不要在一道编程题上占用超过30分钟的时间.当你思考了15分钟,还没有好的解决方式的时候,毅然舍弃!   总体来说,的题目不算太难.尤其是编程题,思路很清晰,不涉及到太复杂的算法.只有第三题可能涉及到递归操作(软肋).其中第二题有关完全二叉树的操作,只需要知道完全二叉树的四个重要性…
剑指offer 面试题29:数组中出现次数超过一半的数字 提交网址: http://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&tqId=11181                                                 参与人数:3512  时间限制:1秒  空间限制:32768K 本题知识点:数组 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一…
剑指Offer 面试题39:二叉树的深度(高度) 题目:输入一棵二叉树的根结点,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度.例如:输入二叉树:                                            10                                          /     \                                        6        14   …
剑指offer 面试题24:二叉搜索树的后序遍历序列(的判断) 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true.否则返回false.假设输入的数组的任意两个数字都互不相同. 提交网址: http://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd?tpId=13&tqId=11176 二叉搜索树(英语:Binary Search Tree),也称二叉查找树.有序二叉树(英语:orde…
剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题) 原书题目:0, 1, - , n-1 这n个数字排成一个圈圈,从数字0开始每次从圆圏里删除第m个数字.求出这个圈圈里剩下的最后一个数字. 牛客网改编:孩子们的游戏(圆圈中最后剩下的数) 提交网址: http://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6?tpId=13&tqId=11199 参与人数:1699  时间限制:1秒 空间限制:32768K 本题…
面试题9:斐波那契数列及其变形(跳台阶.矩形覆盖) 提交网址: http://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tpId=13&tqId=11160 参与人数:7267  时间限制:1秒  空间限制:32768K 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项 Fibonacci(int n). 分析: 用递归会TLE,因为有不少地方进行了重复计算,改为循环即可解决(迭代法…
转自:http://www.myexception.cn/program/1973966.html 时间限制:1 秒内存限制:32 兆特殊判题:否提交:2331解决:1332 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1<=n<=50). 输出: 对应每个测试案例, 输出该青蛙跳上一个n级的台阶总共有多少种跳法. 样例输入: 6 样例输出:…
剑指Offer - 九度1506 - 求1+2+3+...+n2013-11-29 19:22 题目描述: 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 输入: 输入可能包含多个测试样例.对于每个测试案例,输入为一个整数n(1<= n<=100000). 输出: 对应每个测试案例,输出1+2+3+…+n的值. 样例输入: 3 5 样例输出: 6 15 题意分析: 给定正整数n,范围不超过10000…