摘要: // 面试题63:股票的最大利润 // 题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖交易该股 // 票可能获得的利润是多少?例如一只股票在某些时间节点的价格为{9, 11, 8, 5, // 7, 12, 16, 14}。如果我们能在价格为5的时候买入并在价格为16时卖出,则能 // 收获最大的利润11。 #include //如果从头到尾遍历所有的数对,时间复杂度O(n^... 阅读全文
posted @ 2019-03-17 16:40 深夜十二点三十三 阅读(434) 评论(0) 推荐(0) 编辑
摘要: // 面试题62:圆圈中最后剩下的数字 // 题目:0, 1, …, n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里 // 删除第m个数字。求出这个圆圈里剩下的最后一个数字。 #include #include using namespace std; // ====================方法1==================== //使用环形链表 int L... 阅读全文
posted @ 2019-03-17 16:08 深夜十二点三十三 阅读(212) 评论(0) 推荐(0) 编辑
摘要: // 面试题61:扑克牌的顺子 // 题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。 // 2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王可以看成任意数字。 #include int Compare(const void *arg1, const void *arg2); bool IsContinuous(int* numbers, i... 阅读全文
posted @ 2019-03-17 10:58 深夜十二点三十三 阅读(187) 评论(0) 推荐(0) 编辑
摘要: // 面试题60:n个骰子的点数 // 题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s // 的所有可能的值出现的概率。 #include #include int g_maxValue = 6; // ====================方法一==================== //使用递归,还是会有重复计算 void Probability(i... 阅读全文
posted @ 2019-03-17 10:50 深夜十二点三十三 阅读(301) 评论(0) 推荐(0) 编辑
摘要: // 面试题59(二):队列的最大值 // 题目:给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。例如, // 如果输入数组{2, 3, 4, 2, 6, 2, 5, 1}及滑动窗口的大小3,那么一共存在6个 // 滑动窗口,它们的最大值分别为{4, 4, 6, 6, 6, 5}, #include #include #include using namespace std... 阅读全文
posted @ 2019-03-17 09:30 深夜十二点三十三 阅读(199) 评论(0) 推荐(0) 编辑
摘要: // 面试题59(一):滑动窗口的最大值 // 题目:给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。例如, // 如果输入数组{2, 3, 4, 2, 6, 2, 5, 1}及滑动窗口的大小3,那么一共存在6个 // 滑动窗口,它们的最大值分别为{4, 4, 6, 6, 6, 5}, #include #include #include using namespace s... 阅读全文
posted @ 2019-03-17 09:17 深夜十二点三十三 阅读(184) 评论(0) 推荐(0) 编辑