首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
馒头2020
获赞
145
粉丝
2
关注
5
看过 TA
7
男
春田花花幼儿园
2021
Java
IP属地:广东
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑馒头2020吗?
发布(97)
评论
刷题
收藏
馒头2020
关注TA,不错过内容更新
关注
2021-02-14 14:29
春田花花幼儿园 Java
2021/2/14 剑指 Offer 38. 字符串的排列
题目描述 输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例 输入 s = "abc" 返回值 ["abc","acb","bac","bca","cab","cba"] 解题思路 使用回溯法,逐层固定一个字母。 可以用 Set 进行剪枝,去掉重复元素。规则是同一层内出现了一样的元素,则跳过。 Java代码实现 class Solution { ArrayList<String> list = new ArrayList<String>(); char[] c; public String[] p...
0
点赞
评论
收藏
分享
2021-02-14 01:08
春田花花幼儿园 Java
2021/2/14 剑指 Offer 16. 数值的整数次方
题目描述 实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。 示例1 输入 2.00000, 10 返回值 1024.00000 示例2 输入 2.10000, 3 返回值 9.26100 示例3 输入 2.00000, -2 返回值 0.25000 解题思路 使用快速幂的方法解题,,而 以此类推。 当 n 为偶数时, 当 n 为奇数时, 当 n < 0 时,x 变为其倒数,并且 n 取绝对值。意思就是把 n 变为正整数,因为 Java代码实现 cl...
0
点赞
评论
收藏
分享
2021-02-13 22:13
春田花花幼儿园 Java
2021.02.13 在牛客打卡18天!
0
点赞
评论
收藏
分享
2021-02-14 15:28
已编辑
春田花花幼儿园 Java
2021/2/13 [SQL]获取所有部门中当前员工当前薪水最高的相关信息
解题思路 看似复杂,其实这题的解题思路与《查找入职员工时间排名倒数第三的员工所有信息》 类似,都可以使用笛卡尔积去比较。 根据 emp_no 内联 dept_emp 表和 salaries 表为 A 表,然后再同样根据 emp_no 内联一次 dept_emp 表和 salaries 表称为 B 表,然后 A 表和 B 表根据部门编号 dept_no 进行笛卡尔积,比较 A 表和 B 表的相同部门内的工资,如果 A 表工资比 B 表工资低,用 COUNT() 函数计数一次,最后计算出来数值为 0 的说明在同一部门内没有人比自己(即 A 表)工资高。(如果为 1 说明自己是第二高,2 说明自己...
0
点赞
评论
收藏
分享
2021-02-14 00:52
已编辑
春田花花幼儿园 Java
2021/2/13 剑指 Offer 07. 重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 输入 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7] 返回值 3 / \ 9 20 / \ 15 7 解题思路 先从前序遍历中获取第一个值,如示例中 preorder[0] == 3,然后在中序遍历中找 3 所在的位置。 得到 3 在 inorder中的位置 i 为 1,即 3 == inorder[1],由中序遍历的特性“左 -> 中 -> 右”我们可以得知,在中序遍历中,ino...
0
点赞
评论
收藏
分享
2021-02-11 19:52
春田花花幼儿园 Java
2021.02.11 在牛客打卡17天!
0
点赞
评论
收藏
分享
2021-02-09 12:58
春田花花幼儿园 Java
2021.02.09 在牛客打卡16天!
0
点赞
评论
收藏
分享
2021-02-14 15:26
已编辑
春田花花幼儿园 Java
2021/2/9 [SQL]查找入职员工时间排名倒数第三的员工所有信息
解题思路 有可能有并列倒数第三的员工,所以用 LIMIT 去处理不太好。我们用表的自连接做笛卡尔积,然后比较员工 A 与其他员工 BCDEF... 的入职时间,用 COUNT() 进行计算比员工 A 入职晚的人数,若没有或有与员工 A 同时入职的人,那么得出的数就是 0,所以倒数第三个员工得出得数应该是 2。 代码实现 SELECT * FROM `employees` t1 WHERE ( SELECT COUNT(*) FROM `employees` t2 WHERE t2.hire_date > t1.hire_date ) = 2;
0
点赞
评论
收藏
分享
2021-02-01 14:42
春田花花幼儿园 Java
2021.02.01 在牛客打卡15天!
0
点赞
评论
收藏
分享
2021-02-01 14:40
春田花花幼儿园 Java
2021/2/1 合并区间
题目描述 给出一组区间,请合并所有重叠的区间。 示例 输入 [[10,30],[20,60],[80,100],[150,180]] 返回值 [[10,60],[80,100],[150,180]] 解题思路 按照 start 值从小到大排序 遍历所有元素,后一个元素的 start 比前一个的 end 还要小,则比较后一个的 end 和前一个的 end 哪个更大,最大的那个 end 值赋给前一个元素的 end,并删除后一个元素。 王清楚大大的博客《【牛客题霸题解】合并区间》 已经给出了很生动形象的思路,在这里偶就不多卖弄了,不过有一个点需要注意:这时候 20 小于 50,不能用 2...
0
点赞
评论
收藏
分享
2021-01-29 17:18
春田花花幼儿园 Java
2021.01.29 在牛客打卡14天!
0
点赞
评论
收藏
分享
2021-02-01 15:53
已编辑
春田花花幼儿园 Java
【过时】2021/1/29 最长公共子序列
题目描述 给定两个字符串str1和str2,输出连个字符串的最长公共子序列。如过最长公共子序列为空,则输出-1。 示例 输入 "1A2C3D4B56","B1D23CA45B6A" 返回值 "123456" 说明 "123456"和“12C4B6”都是最长公共子序列,任意输出一个。 解题思路 相信做完《NC91 最长递增子序列》的胖友们会很容易看懂解题思路,接下来可能会讲的有点抽象,偶尽量图解,没做过的胖友建议先去试一试。(虽然NC91也有亿点抽象) 动态规划问题中的老办法,就是看输入值,如果有两个或以上的输入值,那就首先考虑用二维数组对付他,在很多题目都很有效,我们这里就借用上...
0
点赞
评论
收藏
分享
2021-01-28 14:44
已编辑
春田花花幼儿园 Java
2021/1/28 矩阵的最小路径和
题目描述 给定一个 n * m 的矩阵 a,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,输出所有的路径中最小的路径和。 示例 输入 [[1,3,5,9],[8,1,3,4],[5,0,6,1],[8,8,4,0]] 返回值 12 解题思路 解法与《2021/1/25 求路径》 以及《2021/1/21 藏宝图》类似。 很经典的动态规划问题,将大问题划分为多个子问题,每个子问题的任务也是求当前路径的最小路径和。 假设矩阵 arr 规模为 1 x 1,那么最小路径和就是 arr[0][0];假设规模为 2 x 2,那么 arr[0][...
0
点赞
评论
收藏
分享
2021-01-28 12:05
春田花花幼儿园 Java
2021.01.28 在牛客打卡13天!
0
点赞
评论
收藏
分享
2021-01-28 11:49
春田花花幼儿园 Java
2021/1/28 最长递增子序列
题目描述 给定数组arr,设长度为n,输出arr的最长递增子序列。(如果有多个答案,请输出其中字典序最小的) 示例1 输入 [2,1,5,3,6,4,8,9,7] 返回值 [1,3,4,8,9] 示例2 输入 [1,2,8,6,4] 返回值 [1,2,4] 说明 其最长递增子序列有3个,(1,2,8)、(1,2,6)、(1,2,4)其中第三个字典序最小,故答案为(1,2,4) 解题思路 下面的“标号”讲的过于抽象,我推荐《最长递增子序列 - murphy_gb - 博客园》 这篇文章,里面的动图很形象。 我们将大问题拆分为小问题,把数组缩短,再慢慢加长直到完整。如示例 1 中 原数组 arr...
HHHChen77:
二分查找第一个大于等于arr[i]的索引,上述18行应该为“if (temp[mid] >= arr[i])”
0
点赞
评论
收藏
分享
1
2
3
4
5
6
7
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务