首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
mm__nn
获赞
17
粉丝
1
关注
1
看过 TA
0
男
浙江大学
2021
算法工程师
IP属地:未知
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑mm__nn吗?
发布(5)
刷题
mm__nn
2020-02-23 21:08
算法工程师
回溯+Map
语言:C++思路:这题是一个无重复全排列问题,参考Leetcode上一个回溯+map的代码https://leetcode-cn.com/problems/permutations-ii/solution/c-jian-dan-hui-su-by-da-li-wang/,并做一定的修改算法效率:具体代码: class Solution { public: void backtrace(map<char,int>& m, int k, int n, string v, vector<string>& res){ if (k==n) ...
0
点赞
评论
收藏
转发
mm__nn
2020-02-22 19:01
算法工程师
非递归的方法(c++)
语言:C++思路:大家普遍的解法是中序遍历+递归,这种方法主要抓住了二叉搜索树的中序遍历结果是有序的特点!但这里提供一种非递归的方法,这种方法借鉴于平衡二叉树的单旋转方法,目标是把这个二叉搜索树变成一个简易二叉搜索树(这里的简易二叉树是我杜撰的概念,它指根节点的左边没有右子树,根节点的右边没有左子树)。图示说明如下,对于每个二叉搜索树(例如图左),如果通过一定方法将它变为简易二叉搜索树(例如图中),那么自然也就是有序的双向链表(图右)。下面说说怎么将普通二叉搜索树变为简易二叉搜索树,这里借鉴了平衡二叉树中的单旋转方法。举个例子,对于根节点10来说,在它左边的数显然应该是8,右边的数是12。那么...
0
点赞
评论
收藏
转发
mm__nn
2020-02-19 16:18
算法工程师
针对数组题解(C++)
语言:C++ 算法思路:考虑到大家都用的是栈的方法,我这里写一种针对数组的方法。这题的关键在于判断每次popV数组每次弹出的值是否在pushV数组中可能被弹出。我的判断方法是:设置一个int型指针p_push,它指的是每上一次popV数组弹出的值在pushV数组中对应的下标,那么这次popV数组弹出的值就必须是pushV数组中这个下标p_push右边(>p_push)或者是左边第一个可以被弹出的值。讲的有点绕,下面举个例子。 比如压入栈的序列是1 2 3 4 5,判断序列4 5 3 2 1可否是弹出序列。参见下图step1:找到第一个弹出的数字4在pushV数组中的位置下标3,并将该位...
0
点赞
评论
收藏
转发
mm__nn
2020-02-10 10:52
算法工程师
链表倒序输出
/倒序链表法/思路:将链表的指向颠倒一下再顺序输出class Solution{public: vector<int> printListFromTailToHead(ListNode* head){ vector<int> a; if (head != NULL) { if (head->next == NULL) a.push_back(head->val); else { struct Li...
0
点赞
评论
收藏
转发
mm__nn
2020-02-09 15:51
算法工程师
双指针方法
class Solution {public: void replaceSpace(char str,int length) { if (str == nullptr || length <= 0) return; /*originalLength 为字符串string的实际长度/ char str0 = str; //保留初始数组指针位置 int originalLength = 0; int numberOfBlank = 0; while(str != '\0') ...
0
点赞
评论
收藏
转发
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务