首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
球球了给孩子一个offer吧
获赞
88
粉丝
31
关注
21
看过 TA
1835
女
门头沟学院
2024
前端工程师
IP属地:广东
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑球球了给孩子一个offer吧吗?
发布(69)
评论
刷题
收藏
球球了给孩子一个offer吧
关注TA,不错过内容更新
关注
2021-10-03 00:24
已编辑
门头沟学院 前端工程师
题解 | #连续段的中数#
题目: 牛牛得到了一个长度为n的正整数序列,现在牛牛想要从里面取出一段连续的长度大于等于k的序列。定义一个序列的“中数”为最大的整数x,使得序列中至少一半的数字大于等于x,牛牛想知道这个取出来的序列的中数最大可以是多少? 方法一:暴力 暴力算法的思路就是逐个枚举可能的区间,将该区间复制到新数组arr中,并进行排序,找到中间值,取最大的中间值 import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @param k int整型 * @...
0
点赞
评论
收藏
分享
2021-10-16 23:08
已编辑
门头沟学院 前端工程师
题解 | #分石子#
题目: 有n堆石子堆,第i堆一共有a[i]个石子。 可以对任意一堆石子数量大于1的石子堆进行分裂操作,分裂成两堆新的石子数量都大于等于1的石子堆。需要通过分裂得到m堆石子,他想知道这m堆石子的最小值最大可以是多少? 方法一:暴力查找 要查找的最大的最小值在[1,min(a[i])][1,min(a[i])][1,min(a[i])]之间,因此只需要在这个区间内查找符合条件的值即可, 从后往前枚举min(a[i])min(a[i])min(a[i])到1之间的数字,假设每堆分成a[j]/ia[j]/ia[j]/i堆,累加堆数为sum(a[j]/i)sum(a[j]/i)sum(a[j]/i),如...
0
点赞
评论
收藏
分享
2021-11-15 14:39
已编辑
门头沟学院 前端工程师
题解 | #牛牛打怪兽#
题目: 牛牛面前有n只怪兽,第i只怪兽的血量为A[i]。牛牛刚刚从牛毕哪里学到一套组合拳, 当使用这个组合拳的时候,打第X只怪兽的时候,同时会打到第2X、2X+1这两个怪兽,每次组合拳会扣打到的怪兽一滴血。一个怪兽血量为0即为死亡,同时组合拳是可以鞭尸的,这意味着即使怪兽死亡,也可以对其使用组合拳。 值得注意的是组合拳必须攻击三只怪兽 牛牛想知道它需要使用最少多少次组合拳才能把所有怪兽打死,如果打不死请输出-1。 方法一:贪心 因为打第i只怪兽时会同时打到第2i和2i+1只怪兽,则2i+1可以取得的最大值为n,因此n必须为奇数,假设n可以为偶数,则为2的倍数,设n=2i,则打第i只怪兽时,...
0
点赞
评论
收藏
分享
2021-10-01 12:02
门头沟学院 前端工程师
题解 | #吃汉堡#
题目:每天有a[i]个鸡肉汉堡和b[i]个牛肉汉堡,持续吃n天,保证每天吃的汉堡数量不同,要求在此汉堡数量最多大的前提下每天吃牛肉汉堡的数量最少,求最终吃的牛肉汉堡的数量 方法一:优先级队列+贪心 思路: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择,就能得到问题的答案。 在本题中,我们要先保证每天吃的汉堡数量最多,再保证牛肉汉堡的数量最少,因此维护一个最大堆存储每天所吃汉堡数量,用一个哈希表存储每天吃的汉堡数量,自定义类Ham存储当天鸡肉汉堡数量和牛肉汉堡数量以及汉堡总数,当堆中元素不在哈希表中则直接加入哈希表,同时记录牛肉汉堡的数量,如果在哈希表中,则我们需...
0
点赞
评论
收藏
分享
2021-09-17 21:23
已编辑
门头沟学院 前端工程师
题解 | #牛牛锻炼#
题意:有n个项目,第i个项目最多达到的分数为 ,现第i个项目已经有分数 ,每增加一份所花费时间为 如果所有项目的平均分要达到d,需要最少多少时间 方法一:贪心+自定义排序函数 当所有项目达到平均分d时项目分数总和为,而现在拥有的分数(i从0到n),则现在需要增加的分数 如何使得所需时间最短呢?因为增加一分的的代价不相等,要想达到需要分数,我们应该先花费时间做代价小的相项目,因此定义一个项目类,类中包含当前项目剩余可增加的分数restScore和增加一分花费时间c,将项目数组按照代价c从小到大排序 遍历项目组,如果当前项目组剩余可增加分数已经小于或者等于需要的分数,则直接计算并返回时间,否则每...
0
点赞
评论
收藏
分享
2021-09-12 23:46
门头沟学院 前端工程师
题解 | #排队#
题目:银行有m个服务窗口,假设当前有n个人等待办理业务,那么这n个人会被顺序分配一个从1到n的号码。第i号办理业务的时间都为,一个窗口一次只能办理一个人的业务,上一个人的业务办理完才能办理下一个人的业务,有多少对(i,j),满足,且第i号办理业务完成的时间严格大于第j号办理业务完成的时间。方法一:优先级队列+暴力每次先办理完业务的窗口先空出来,因此采用优先级队列存储每个人办理业务的总时间,首先让开始时间为0进队,然后,对于遍历n个人,每次将第i个人的业务开始时间出队(空闲窗口),记录第i个人的业务办理总时间在ans数组中,并将总时间入队,直到所有人的业务办理时间都记录在ans数组中,暴力枚举数...
0
点赞
评论
收藏
分享
2021-09-18 00:27
已编辑
门头沟学院 前端工程师
题解 | #牛牛晾衣服#
题目:牛牛有n件带水的衣服,干燥衣服有两种方式。一、是用机器烘干,可以每分钟烤干衣服的k滴水。二、是自然烘干,每分钟衣服会自然烘干1滴水。机器比较小,每次只能放进一件衣服。注意,使用机器的时候,其他衣服仍然可以保持自然烘干状态,现在牛牛想知道最少要多少时间可以把衣服全烘干。 方法一:暴力查找所需的最短烘干时间为1,最长时间为a[i]最大值,则在1到max(a[i])中直接暴力寻找可行的最短烘干时间 那么我们需要一个函数判断衣服是否可以被烘干:如果衣服的水滴数小于总的烘干时间time,那么这件衣服一定会被烘干,所以凡是衣服水滴数大于总烘干时间则需要进行计算,总烘干时间为time,设需要机器烘干...
0
点赞
评论
收藏
分享
2021-09-05 21:32
门头沟学院 前端工程师
题解 | #找出重复的数#
题目:在包含 n+1 个数的序列 a 中找出重复的数。序列 a 中包含从 1 到 n 的整数,且只有一个数有重复值。要求时间复杂度为 O(n),额外空间复杂度为 O(1)。 方法一:求和求出1+2+...n=sum的值,计算a数组的和,a数组的和减去sum就得到重复数字 import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int * @param a int一维数组 * @return int */ public int search (int...
0
点赞
评论
收藏
分享
2021-09-04 15:32
门头沟学院 前端工程师
题解 | #权值最大的路径#
题目:给出一个有向无环图,规定路径是单向且小序号指向大序号,每个节点都有权值。在图上求一条路径使得经过的节点权值和最大,输出路径方法一:递归 先构建邻接矩阵存储每个结点的邻接结点 记录以每个结点为结尾结点时的路径权值和以及路径,路径权值和存储在w数组中,对应路径存储在path数组中,找出路径权值和最大的结点所对应的路径数组 如果以当前结点为结尾的路径权值和小于该结点原本的权值时递归更新路径,在递归中,遍历当前结点的邻接结点,如果邻接结点的权值小于当前结点权值加上邻接结点权值,则更新邻接结点的权值,并且更新路径数组,继续递归,递归结束条件为结已经没有邻接结点了 import java.u...
0
点赞
评论
收藏
分享
2021-09-17 22:29
已编辑
门头沟学院 前端工程师
题解 | #浅尝辄止#
题目:给定一个正整数n,求式子中[x]为下取整。答案可能会很大,输出答案对998244353取模后的值。方法一:暴力解法直接暴力求解i从1到n时的累加和 public class Solution { /** * * @param n long长整型 * @return int整型 */ int mod=998244353; public int work (long n) { // write code here if(n==1)return 1; long res=0; for(int i=1;i<=n;i++){ res+=n/i; } res%=mod; return (in...
0
点赞
评论
收藏
分享
2021-08-30 17:26
门头沟学院 前端工程师
题解 | #牛牛分蛋糕#
题目:牛牛今天家里要来客人,所以牛牛今天特意做了他最拿手的两种蛋糕,但是他是一个有洁癖的人,所以他在分蛋糕时,有如下几个原则:1.他不希望一个盘子里出现两种蛋糕2.他希望每个盘子中都有蛋糕3.他想让装有最少蛋糕数量的盘子中装有的蛋糕数量尽可能多方法一:暴力解法假设有i个盘子用来放a蛋糕,则用来放b蛋糕的盘子数量为n-i,枚举i从1到n-1,蛋糕尽可能平均地分配到每个盘子中,则在放a蛋糕的每个盘子里至少有a/i个蛋糕,放b蛋糕的每个盘子里至少有b/(n-i)个蛋糕,则每轮循环里取,所有最小值中的最大值即为结果 import java.util.*; public class Solution {...
0
点赞
评论
收藏
分享
2021-08-26 19:50
门头沟学院 前端工程师
题解 | #车站建造问题#
题目:X轴上个点,从左到右依次编号为0到,相邻点距离为1,其中有n个点有特殊意义,从小到大依次为到,其中保证=0.现在需要建设收集站,有两个要求必须被满足:1、每个有意义的点必须修建收集站。2、相邻收集站的距离必须为1或为某个质数。现给出n和a数组,求需要建设收集站的最小数量。方法一:哥德巴赫猜想+欧拉筛选法构造素数表站点数初始化为n,关键是要判断一个非素数可以分解成几个素数这里就得用到哥德巴赫猜想: 一个数n是大于2的偶数时,最少可以分解为2个素数 一个数n是大于等于5的奇数时:如果n-2是素数,则n可以分解为最少2个素数否则,n可以分解为最少3个素数 欧拉筛选法构造素数表:构造一个从2...
0
点赞
评论
收藏
分享
2021-08-28 21:50
已编辑
门头沟学院 前端工程师
题解 | #牛牛的函数2#
题目:求,然后在给定a和b的情况下,求f(x)%10000000033的值。其中0<=n<=,1<=a <= b-1<= 方法一:暴力解法为避免数据溢出,我们用__int128处理大数据,将字符串转化为 __int128类型,并使用迭代求幂,会出现超时 #define lint __int128//处理大数据 const lint mod=10000000033; class Solution { public: /** * * @param sa string字符串 * @param sb string字符串 * @param n int整型 * @return...
0
点赞
评论
收藏
分享
2021-08-25 15:52
已编辑
门头沟学院 前端工程师
题解 | #牛牛的函数#
题目:求 ,在给定a和b的情况下求f(x)%10000000033的值。方法一:暴力解法 直接暴力解***超时,而且直接乘法也会超出long long的限制 class Solution { public: /** * * @param a int整型 * @param b int整型 * @param n int整型 * @return long长整型 */ long long mod=10000000033; long long solve(int a, int b, int n) { // write code here long long res=0; for(int i=a;i<...
0
点赞
评论
收藏
分享
2021-09-22 18:01
已编辑
门头沟学院 前端工程师
题解 | #牛牛排队#
题目:n个人排成一队,对于每个人来说。他左部分和右部分的人数差的绝对值是不变的,则对于a数组有多少种排队的方法 方法一:排序+迭代求幂 对于一个a数组,当调换第一个和最后一个,第二个和倒数第二个...的时候,被调换位置的人左右部分人数差的绝对值不变,即a数组不变,因为调换一次产生2种队列,可以调换n/2次,有种队列 如果数组合法就求,否则直接返回0。为了更方便地判断数组是否是合法数组,我们将数组按递增顺序排序,显然,当n为偶数时,,当n为奇数时,,因此在偶数数组中一旦或者则返回false,在奇数数组中一旦就返回false,或者i从2到n-1,或者时返回false import java.u...
0
点赞
评论
收藏
分享
1
2
3
4
5
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务