T1:金字塔石块掉落 思路:双指针模拟即可 T2:10101神奇序列,将1和0没有重复并且至少长度为3的为神奇序列,求序列中最长的神奇序列 思路:遍历一遍,碰到前后相同的让长度清零即可 T3:ASDF字符串转换成平衡字符串(各字符数目相等),求满足要求的最小子字符串 思路:先统计多出来的字符串,然后双指针去序列中找 T4:同组放书,同一组为相邻的(可理解为连续子串),要求同一组中最大值和最小值之差
1、划分循环数组 思路和********** 的子数组一样,只是目标和为循环数组和的一半。 2、n个学生围成一圈,编号从1到n。每个学生将从1开始报数,报到素数的人出列,剩下的人继续报数,试求最终留下来的人的编号是多少 这道题是一道典型的模拟题,难点在于判断素数,这里使用的是欧拉筛先打了一个素数表,时间复杂度为O(nlogn)。 3、给定一个数组,你可以进行最多k次以下操作:“选择一个大于1的元素
这是我第一次编程题全部ac的笔试。我个人觉得编程难度不算大。 第一道固数和与三数和的题差不多。 第三道最大公倍数,排序取最大值,然后遍历最大值的倍数就可以。 主要说说第二题的概率题吧。我还是很喜欢编程题的数学题的。 题(记忆):k个小鸟飞n个树,问k至少多少可以是至少有两只鸟在同一棵树的概率大于p? 梦回高中哈哈哈哈哈。 首先,我们需要解决的是问题是:至少有两只鸟在同一棵树的概率。 所以至少有两只
25选择题,我算法卷子考了一大堆操作系统Linux题,菜鸡直接随机选择 3道编程题,菜鸡是100%,90%,100% 第一题很简单,有一组课程难度,要求先排序,还要求相邻难度不超过4,最后输出排序后数组和能不能达到要求 先排序,再看相邻差值是不是小于4 第二题是lc原题,基本计算器三, 就是哪个要开会员才能看的哪个题,我没做过临场写的,过了90%,还有10%不知道为啥过不了 第三题华强买瓜,瓜有4
#做完网易2023秋招笔试题,我裂开了# 1. 100%,直接把数字比坐标大的数一直减,直到和位置相等;对应的去找需要+1的数字,需要用hash维护每个数字所在的位置。 2. 46.3%,前缀和+暴力枚举长度。 3. 100%,从高位到低位计算二进制位为1的个数并记录这些数字,≥k就更新vector,不然沿用上一次的vector。 4. 60%,先计算出第n项ab对应的幂(需要用矩阵快速幂计算法)
八点的飞机,七点的笔试。 写了大概三十多分钟 编程题 第一题 easy 没啥可说的 第二题 数据结构题,感觉还是挺有意思的,做题思路是将操作对k降序排序,要考虑到时间靠后的排前面,这是比较经典的覆盖的想法。 排序后先处理第一个操作(k最大),前k个升序存下来,之后的就直接记录到答案中(它们都不受影响)。然后之后就是对这前k个操作,实际上同理就行,处理当前的就去看上一次是是升序还是降序。升序就从后往
25道选择+3道编程 选择包括linux系统题,C++题和一些从没见过的算法题,上来第一道就是从没见过的什么什么圆算法。。。 编程题全都很难,这在leetcode里是不是都得算hard啊?最后一题停车场直接全输出(-1,-1)竟然40%通过。。。 真的好难。。。沉默了。。。。。
100%, 0% 第二题快结束的时候想出来的思路,可惜结尾的 stack[:n - k] 写成 stack[:k] 了。。。 T2 题目 第一行输入两个整数 num 和 k,要求从 num 中删去 k 个数字,使得剩下的数字组成的数最小,并输出最小的整数。数据范围:k <= num.length <= 10^5 示例 输入:10200 1 输出:200 分析 本题考查贪心算法,每次优化可优化的最高
#24届软开秋招面试经验大赏# 投递岗位:高性能算法工程师 笔试时间 showmebug平台 100min 笔试题型:2个编程,2个问题 1、手写C++ string类,编程 2、二分查找,编程 3、对cache的理解,问答 4、数据结构顺序存储和链式存储的优缺点,问答 感觉难度还可以,就是showmebug这个平台用不惯,不太会用
不小心做了实习笔试,记录一下。选择题一直不太会,略过。 第一题题意:数字符串(长度n<20)只包含一些特定字符的回文子串。 做法:根据数据范围,直接二进制枚举。时间复杂度O(n * 2^n)。 第二题题意:。。模拟某个机器学习数据处理。。 做法:输入对写c++的不太友好,py3模拟一下。 第三题题意:给定一个01字符串(长度n<1e5),开始和结束位置为1,第一问,求从开始到结束位置最少跳几次,跳
Q1 这里有n个正整数,a1,....,an Alice 会先去掉其中最多d 个数 Bob 接下来会将剩余的数中最多m个数乘以 -k Alice 想要剩余数之和尽可能大,Bob 想要剩余数之和尽可能小。假设 Alice 和 Bob 都足够聪明,请问最后剩余数之和是多少。 输入描述 第一行一个正整数T,接下来有T组数据 每组数据2行 第一行4 个数 n, m, k, d (2 ≤ n ≤ 10^5)
第一第二题ac了,最后一题暴力骗分20%,没时间细想了 第一题,猴子摘桃 签到题 输入n和两个长度为n的数组a,b a表示每颗树的高度 b表示树上果子的高度 小红(猴子)从第一颗树的第0高度开始,每次可以进行两个操作,1)高度加一或减一;2)移动到下一颗树的同等高度(要确保在下一颗树的高度范围内) 求小红摘完全部果实的最小操作次数 逐步模拟就行了,一次遍历,注意变量类型为long,不然只能过10%
1.双色球,大概意思是输入一个数组,里面包含n个1-33的数,要求输出7个频率最低的数,如果频率一样输出较小的一个。 2.拼木板,大概意思是输入一个数组包含n个数,每个数代表木板长度,现在用木板拼正方形,木板不可拆分,且最后木板必须用完。判断是否可以。 第一题用hash表就行,没难度。第二题想了一个小时,突然发现也很简单,几行代码就搞定了😂
1.给定一个字符串,输出字符串中最多出现的字符和次数。 2.应该是力扣的零钱兑换问题 3.变种的背包问题 一道简单题,两道中等题,第二题必须Java写
1. 小红的排列,小红有2种操作:选择一个数字+1/-1。给定一个长度为len列表,求令其变成包含1到len所有数字所需的操作数; 简单题,排序,然后按位相减; 2. 小红的象棋,给定n*n的棋盘,每个格子具有权值,从左上角出发,只能走马字:(x+/-2, y+1), (x+/-1, y+2),求走到最右一列的最大路径权值和; n<= 1000, dfs 一直超时,没想到很好的剪枝方法,待补; 3