首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
多芒
获赞
9
粉丝
1
关注
6
看过 TA
3
重庆理工大学
2023
前端工程师
IP属地:四川
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑多芒吗?
发布(5)
刷题
多芒
2022-09-10 00:13
已编辑
前端工程师
题解 | #反转链表#
/*function ListNode(x){ this.val = x; this.next = null; }*/ function ReverseList(pHead) { //分为已反转和待反转两个表,pre式已反转链表第一个节点,cur是待反转链表第一个节点,next用来保存cur.next,以免cur.next指向改变后找不到原来的next //时间复杂度O(n) //考虑链表为空的情况 if(!pHead){ return null } //初始化 let pre = null; le...
0
点赞
评论
收藏
转发
多芒
2022-03-18 11:24
已编辑
前端工程师
题解 | #字符串变形#
function trans(s, n) { let arr = s.split(/\s/); let res = []; let temp; while (arr.length) { temp = arr.pop() temp = temp.split('') temp.forEach((word,i) => { if (/[a-z]/.test(word)...
0
点赞
评论
收藏
转发
多芒
2022-03-11 14:56
前端工程师
题解 | #重建二叉树#
思路:先序遍历列表的第一个节点一定是二叉树的根节点,也是中序遍历列表中划分左右子树的关键。 在中序遍历列表中找到先序遍历列表中第一个节点,以此为界限可以将二叉树分为左右子树,可以得知左子树和右子树的长度,在先序遍历列表中划分出来。再依次拿出先序遍历列表中的第一个节点构成左/右子树的根节点,直到传入的先序序列或中序序列为空结束遍历,返回根节点。 /* function TreeNode(x) { this.val = x; this.left = null; this.right = null; } */ function reConstructBinaryTree(pr...
0
点赞
评论
收藏
转发
多芒
2022-03-11 13:43
前端工程师
题解 | #在二叉树中找到两个节点的最近公共祖先#
/* function TreeNode(x) { this.val = x; this.left = null; this.right = null; } */ /** * @param root TreeNode类 @param o1 int整型 @param o2 int整型 @return int整型 */ 思路:每个root进递归函数, 先看1.是否有值2.是不是要找的两个节点; 都不是,那就继续找这个root的左、右子树: 左右节点只有其中一个能找到o1或o2,就返回这个左/右节点; 左右节点都能找到,说明这个root就是最近的祖先节点; 都没找到返回null; funct...
0
点赞
评论
收藏
转发
多芒
2022-02-28 21:50
已编辑
前端工程师
题解 | #连续子数组的最大和#
思路:动态规划求解,将问题变成数个易求解的子问题,再将子问题放到全局比较。 子问题:以数组中序号为i的数作为连续子数组的最后一个数时,得到的最大和dp[i]。 只需要考虑相比于i-1的情况的变化。如果dp[i-1]是负数,反而会让和变小,不如不加;dp[i-1]是正数则加上array[i]。无论如何,array[i]是肯定要的。 初始值:dp[0] = array[0] 状态转移方程:dp[i] = max(dp[i-1]+array[i],array[i]) 知道每种子问题的解之后,放到全局比较,同样是选出最大的。这里用res临时存储,遇到更大的就更新。 ```function FindGr...
0
点赞
评论
收藏
转发
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务