Fork me on GitHub

随笔分类 -  牛客网--课程学习

直通BAT--面试算法精讲课 左程云直播--面试算法题目最优解
摘要:题目 解析 这种题目类似于LeetCode combination sum,应该比较熟悉掌握! C++ include include using namespace std; void help(vector & res, vector &vec, int i, int n, int m) { i 阅读全文
posted @ 2018-08-19 16:35 ranjiewen 阅读(285) 评论(0) 推荐(0) 编辑
摘要:题目 解析: C++ // 第20节 相邻两数最大差值练习题 // 基于桶排序的思想完成,不考虑两个相同的桶内的差值,只考虑该桶的最小值减去上一个桶的最大值,最大的就是最大值。 class Gap { public: int maxGap(vector A, int n) { // write co 阅读全文
posted @ 2018-08-09 23:04 ranjiewen 阅读(422) 评论(0) 推荐(0) 编辑
摘要:题目 解析 C++版 C++ class Subsequence { public: int shortestSubsequence(vector A, int n) { // write code here int start=0; int end=n 1; //最右边比max值小的数的下标 // 阅读全文
posted @ 2018-07-09 00:16 ranjiewen 阅读(205) 评论(0) 推荐(0) 编辑
摘要:题目 解析 C++版 Python版 阅读全文
posted @ 2018-07-08 23:48 ranjiewen 阅读(296) 评论(0) 推荐(0) 编辑
摘要:题目 有一个只由0,1,2三种元素构成的整数数组,请使用交换、原地排序而不是使用计数进行排序。 给定一个只含0,1,2的整数数组A及它的大小,请返回排序后的数组。保证数组大小小于等于500。 测试样例: [0,1,1,0,2,2],6返回:[0,0,1,1,2,2] 题目 题目 有一个只由0,1,2 阅读全文
posted @ 2018-06-17 23:54 ranjiewen 阅读(401) 评论(0) 推荐(0) 编辑
摘要:题目 题目 有两个从小到大排序以后的数组A和B,其中A的末端有足够的缓冲空容纳B。请编写一个方法,将B合并入A并排序。 给定两个有序int数组A和B,A中的缓冲空用0填充,同时给定A和B的真实大小int n和int m,请返回合并后的数组。 解析 class Merge { public: int* 阅读全文
posted @ 2018-06-16 23:28 ranjiewen 阅读(195) 评论(0) 推荐(0) 编辑
摘要:题目 解析 C++ class ScaleSort { public: vector sortElement_1(vector A, int n, int k) { // write code here sort(A.begin(), A.end()); return A; } void headA 阅读全文
posted @ 2018-05-24 18:03 ranjiewen 阅读(214) 评论(0) 推荐(0) 编辑
摘要:对于一个int数组,请编写一个计数排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] 计数排序 class CountingSort { public: int* countingSort(in 阅读全文
posted @ 2018-05-19 15:34 ranjiewen 阅读(500) 评论(0) 推荐(0) 编辑
摘要:请用递归方式实现二叉树的先序、中序和后序的遍历打印。 给定一个二叉树的根结点root,请依次返回二叉树的先序,中序和后续遍历(二维数组的形式)。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; 阅读全文
posted @ 2018-05-04 21:11 ranjiewen 阅读(196) 评论(0) 推荐(0) 编辑
摘要:01背包练习题 题目 解析 Refernce "背包问题" 阅读全文
posted @ 2018-03-28 12:10 ranjiewen 阅读(358) 评论(0) 推荐(0) 编辑
摘要:题目 解析 C++ include include include include include using namespace std; int main() { int N = 0; cin N; unordered_set st; vector vec; for (int i = 0; i 阅读全文
posted @ 2018-02-02 23:39 ranjiewen 阅读(300) 评论(0) 推荐(0) 编辑
摘要:今天跟着左老师的视频,理解了四种复杂度为 O(N*log(N))的排序算法,以前也理解过过程,今天根据实际的代码,感觉基本的算法还是很简单的,只是自己写的时候可能一些边界条件,循环控制条件把握不好。 阅读全文
posted @ 2016-10-04 15:30 ranjiewen 阅读(691) 评论(0) 推荐(0) 编辑
摘要:以前也看过很多排序算法的原理,每次都想自己实现一下,一直都再拖,现在着牛课网学习算法课程,希望自己能够坚持练习。 持续更新中...... 阅读全文
posted @ 2016-09-25 21:15 ranjiewen 阅读(390) 评论(0) 推荐(0) 编辑
摘要:此题旋转带有技巧性,问题转化为常见的问题,熟练STL可以直接用str.find()函数,其是主要想用KMP算法实现字符串的查找算法。。。 阅读全文
posted @ 2016-09-19 21:11 ranjiewen 阅读(650) 评论(0) 推荐(0) 编辑
摘要:层次遍历二叉树,编程之美上看过解法,然后在练习了一下。用递归和vector,队列实现了,然后加上了测试函数,测试函数的二叉树创建方法待改进。 阅读全文
posted @ 2016-09-17 12:15 ranjiewen 阅读(2038) 评论(0) 推荐(0) 编辑
摘要:最大公约数(Gcd)两种算法(Euclid && Stein) [整理] 华为机试题,以前做过,复习了一点思路。 //题目描述////正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。////输入描述 ://输入两个正整数A和B。///// 阅读全文
posted @ 2016-09-10 20:44 ranjiewen 阅读(847) 评论(0) 推荐(0) 编辑
摘要:链表指针参数和逻辑的分析。 阅读全文
posted @ 2016-05-22 20:49 ranjiewen 阅读(442) 评论(0) 推荐(0) 编辑
摘要:对于一个int数组,请编写一个冒泡排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: 阅读全文
posted @ 2016-04-02 22:01 ranjiewen 阅读(210) 评论(0) 推荐(0) 编辑