首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
牛客486802834号
获赞
8
粉丝
1
关注
8
看过 TA
6
四川师范大学
2023
后端
IP属地:广东
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑牛客486802834号吗?
发布(78)
刷题
牛客486802834号
2022-02-23 20:34
已编辑
后端
JZ12-题解 | #机器人的运动范围#
题目描述 地上有一个 rows 行和 cols 列的方格。坐标从 [0,0] 到 [rows-1,cols-1] 。一个机器人从坐标 [0,0] 的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于 threshold 的格子。 例如,当 threshold 为 18 时,机器人能够进入方格 [35,37] ,因为 3+5+3+7 = 18。但是,它不能进入方格 [35,38] ,因为 3+5+3+8 = 19 。请问该机器人能够达到多少个格子? 题解:DFS遍历(不撞南墙不回头) 算法思路: 由于给出了矩阵入口,因此不需要寻...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-21 13:26
后端
JZ12-题解 | #矩阵中的路径#
题目描述 请设计一个函数,用来判断在一个n乘m的矩阵中是否存在一条包含某长度为len的字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。 题解:回溯法 算法思路: 回溯法首先要找到矩阵的入口是在哪里,因此,第一步是要找到入口 走过的路径不能在走,因此,用一个辅助数组(该数组同矩阵行列相同,元...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-21 11:42
后端
JZ11-题解 | #旋转数组的最小数字#
题目描述 有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。 请问,给定这样一个旋转数组,求数组中的最小值。 题解1:使用库函数sort或者小根堆 代码 class Solution { public: int minNumberInRotateArray(vector<int> rotateArray) { // 题解1:直接排序处理 sort(rotateArray.be...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-23 20:35
已编辑
后端
JZ10-题解 | #斐波那契数列#
题目描述: 斐波那契数列是一个满足: 当x=1,或者x=2时候,fib(1)=1,fib(2)=2; 当x>2时,fib(x)= fib(x-1)+fib(x-2) 求:fib(x),x>0; 题解1.递归-效率低 图示(来自漫漫云天自翱翔) 从图示可见,这种从上往下的采用递归的算法含有大量重复的计算,效率较低。 代码 int fibonacci1(int n) { if (1 == n) return 1; if (2 == n) return 2; return fibonacci1(n - 1) + fibonacci1(n - 2); } ...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-21 10:59
后端
JZ9-题解 | #用两个栈实现队列#
题目描述 用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素. 题解:栈1用来存放元素,栈2用来出栈。 算法思路: 栈1只用于存放入队列的元素,其顺序同队列相反 栈2为空时候,将栈1所有元素都出栈存放入栈2中,此时,栈2顺序同队列相同。 出栈时候,先判断栈2是否为空,若不为空,则将余下的元素出栈,顺序同队列。注意:此时不能将栈1元素入栈2中,会破坏顺序;若为空,将栈1所有元素入栈2中,然后再进行出栈队列元素。 代码: class ...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-21 10:39
后端
JZ8-题解 | #二叉树的下一个结点#
题目描述: 给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的next指针。下图为一棵有9个节点的二叉树。树中从父节点指向子节点的指针用实线表示,从子节点指向父节点的用虚线表示. 示例: 输入:{8,6,10,5,7,9,11},8 返回:9 解析:这个组装传入的子树根节点,其实就是整颗树,中序遍历{5,6,7,8,9,10,11},根节点8的下一个节点就是9,应该返回{9,10,11},后台只打印子树的下一个节点,所以只会打印9,如下图,其实都有指向左右孩子的指针,还有指向父节点的指针,下图没有画出来 ...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-23 20:37
已编辑
后端
JZ27-题解 | #重建二叉树#
题目描述: 给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。 提示: 1.vin.length == pre.length 2.pre 和 vin 均无重复元素 3.vin出现的元素均出现在 pre里 4.只需要返回根结点,系统会自动输出整颗树做答案对比 题解 思路:二叉树的前序遍历:根左右;中序遍历:左根右 由前序遍历知道根节点之后,能在中序遍历上划分出左子树和右子树。分别对中序遍历的左右子树递归进行这一过程即可建树。...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-20 11:36
后端
JZ6-题解 | #从尾到头打印链表#
题目描述 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。 如输入{1,2,3}的链表如下图: 返回一个数组为[3,2,1] 题解1:使用栈 代码: /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */ // vector<int> v;用于递归题解方式 class Solu...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-20 11:06
后端
JZ5-题解 | #替换空格#
题目描述: 请实现一个函数,将一个字符串s中的每个空格替换成“%20”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 **题解1:使用辅助字符串 代码 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ string replaceSpace(string s) {...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-20 10:39
后端
JZ4-题解 | #二维数组中的查找#
题目描述: 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 [ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15] ] 给定 target = 7,返回 true。 给定 target = 3,返回 false。 题解1:暴力法 两次for 循环 代码 class Solution { public: bool Find(int target, vector<vec...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-20 10:07
后端
JZ:3-题解 | #数组中重复的数字#
题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1 代码: class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型vector * @return ...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-22 13:35
已编辑
后端
排序
各个排序复杂度: 插入排序:算法思想 算法思想:每次将⼀个待排序的记录按其关键字⼤⼩插⼊到前⾯已排好序的⼦序列中, 直到全部记录插⼊完成。 步骤:引用来自菜鸟教程:https://www.runoob.com/data-structures/insertion-sort.html 第一轮:从第二位置的 6 开始比较,比前面 7 小,交换位置。 第二轮:第三位置的 9 比前一位置的 7 大,无需交换位置。 第三轮:第四位置的 3 比前一位置的 9 小交换位置,依次往前比较。 第四轮:第五位置的 1 比前一位置的 9 小,交换位置,再依次往前比较。 代码:...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-17 22:13
后端
插入排序和希尔排序
插入排序:算法思想 算法思想:每次将⼀个待排序的记录按其关键字⼤⼩插⼊到前⾯已排好序的⼦序列中, 直到全部记录插⼊完成。 步骤:引用来自菜鸟教程:https://www.runoob.com/data-structures/insertion-sort.html 第一轮:从第二位置的 6 开始比较,比前面 7 小,交换位置。 第二轮:第三位置的 9 比前一位置的 7 大,无需交换位置。 第三轮:第四位置的 3 比前一位置的 9 小交换位置,依次往前比较。 第四轮:第五位置的 1 比前一位置的 9 小,交换位置,再依次往前比较。 代码: #include...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-17 13:36
后端
插入排序和希尔排序
算法思想 算法思想:每次将⼀个待排序的记录按其关键字⼤⼩插⼊到前⾯已排好序的⼦序列中, 直到全部记录插⼊完成。 步骤:引用来自菜鸟教程:https://www.runoob.com/data-structures/insertion-sort.html 第一轮:从第二位置的 6 开始比较,比前面 7 小,交换位置。 第二轮:第三位置的 9 比前一位置的 7 大,无需交换位置。 第三轮:第四位置的 3 比前一位置的 9 小交换位置,依次往前比较。 第四轮:第五位置的 1 比前一位置的 9 小,交换位置,再依次往前比较。 代码: #include<i...
0
点赞
评论
收藏
转发
牛客486802834号
2022-02-15 20:27
后端
剑指offer:59-题解 | #滑动窗口的最大值#
题目描述: 给定一个长度为 n 的数组 num 和滑动窗口的大小 size ,找出所有滑动窗口里数值的最大值。 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,2,6,[2,5,1]}。 窗口大于数组...
0
点赞
评论
收藏
转发
1
2
3
4
5
6
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务