3 1 3 2 5
样例输出
3
提示
样例解释
例如如果序列中所有数字都不修改时,众数为 3,3 出现的次数为 2,如果我们把两个 3 都做如题操作,序列会变为 1,1,1,2,5,此时众数为 1,出现次数为 3,所以我们选择后者方案,输出众数出现的次数,即 3。
整除的数组
时间限制:C/C++语言 3000MS;其他语言 5000MS
内存限制:C/C++语言 131072KB;其他语言 655360KB
题目描述:小美曾经有一个特殊的数组,这个数组的长度为 n。但是她在打恐怖游戏的时候被吓得忘记了这个数组长什么样了。不过她还记得这个数组满足一些条件。
首先这个数组的每个数的范围都在 L 和 R 之间。包括端点。
除此之外,这个数组满足数组中的所有元素的和是 k 的倍数。
但是这样的数组太多了,小美想知道有多少个这样的数组。你只需要告诉她在模 1e9+7 意义下的答案就行了。
输入
一行四个整数 n,k,L,R
(1≤n≤1e5 1≤k≤10 1≤L≤R≤1e9)
输出
输出一个数表示满足条件的数组的个数。
样例输入
9 1 1 3
样例输出
19683
物资采购
时间限制:C/C++语言 2000MS;其他语言 4000MS
内存限制:C/C++语言 131072KB;其他语言 655360KB
题目描述:某公司要建厂投产一种产品,已知该产品共需要 k 种不同的原材料才能生产,而在这个工厂周围有 n 个可供建厂的地址,同时这 n 个位置都生产该产品所需 k 种原材料中的一种,在这 n 个位置间存在一些通行的道路,我们可以视这些道路的长度都为 1,保证这些位置之间两两都是连通的。
很显然工厂面临一个很严峻的问题,就是原料采集,我们定义采集一种原材料的花费为工厂所在位置到最近的一个该材料的采集点的距离,在一个位置建厂的成本为 k 种原材料的采集花费之和。
请你对每一个位置都求出其建厂的花费。
输入
输入第一行有三个正整数 n,m,k,分别代表可供选择的建厂地址数量,编号为从 1 到 n,这些地址之间的道路数量,生产所需的原材料数量,编号为 1 到 k。(1<=n,m,<=50000,1<=k<=100)
输入第二行包含 n 个正整数,第 i 个正整数 a_i 表示第 i 个地址是第 a_i 种原料的采集点。(1<=a_i<=k)
接下来有 m 行,每行有两个正整数 u,v,表示 u 号位置和 v 号位置之间有一条连接的路径,可能存在重边或自环(如样例所示)。
输出
输出包含 n 行,每行一个正整数,第 i 行表示第个位置的建厂成本。
样例输入
5 5 3
1 1 2 3 1
1 4
2 4
3 4
4 5
4 3
样例输出
3 3 3 2 3
小仓的射击练习 1
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:小仓酷爱射击运动。今天的小仓会进行 N 轮射击,已知第 i 次射击,她击中靶心的概率是 a[i] -1 。
小仓想知道 N 轮射击后,偏离靶心次数为 0 ,1 ,2 次的概率分别是多少。
输入
第一行一个数 N,代表射击轮数。
第二行 N 个数 a[i],第 i 个数为 a[i]。
1≤N≤100,000
1≤a[i]<998244353
输出
不难证明答案可以表示成一个最简分数 p * q -1。
你需要输出三个 p * q -1 对 998244353 取模后的结果,以此来表示偏离靶心次数为 0 , 1 , 2 时的概率。
其中 q-1 是 q 在模意义下的逆元,满足 q-1* q = 1 mod 998244353。
例如 1/4, 可以写成 748683265,原因是 4 * 748683265 % 998244353 = 1,也有且仅有 x = 748683265,1 <= x < 998244353 满足乘积等于 1
样例输入
2
2 2
样例输出
748683265 499122177 748683265
一面
–
面试官没有让我自我介绍,直接开始问问题了:
-
你做前端比较擅长哪些方面?(CSS 动画,性能优化)
-
为什么选择用 CSS 做动画?为什么不用 JS 来做动画呢?(CSS 开启 GPU 硬件加速使用 GPU 渲染,帧率高 / JS 做动画灵活,但是容易引起频繁的回流(reflow)重绘(repaint),且使用 CPU 计算渲染,帧率只有 40 帧左右)
-
那如果让你用 JS 做一个动画,实现一个方块从 0px 移动到 100px 的位置,你会怎么做?(这种情况优先考虑使用 CSS,因为是简单动画)
-
你知道什么是点击穿透嘛?如何实现点击穿透?(听说过,CSRF 攻击通常会使用这种方式诱导用户点击链接到危险网站。当时不知道如何实现点击穿透,后来查了一下资料发现可以使用 CSS 的
pointer-events: none;
将遮罩层的元素指针事件禁用,就能实现点击穿透) -
你说到 CSRF,那么可以讲一下 CSRF 的流程嘛?如何防范 CSRF(这个很多方法了(token,referer 验证,cookie samesite 等等))
-
编程题,水桶问题,一个水桶 5 升,一个水桶 3 升,只能倒空或倒满,问能否得到 n 升的水(返回
true
orfalse
)(DFS,容积做差) -
编程题,一个有序数组,存在重复元素,给定一个
target
,如何找出其在数组中最左边的位置,不使用indexOf
(二分法,设置返回条件递归) -
React/Vue 中的 key 值有什么作用,又有什么区别?(只答出 key 值相同的 DOM 会被复用,key 也参与 DOM Diff 当 key 和标签相同则 DOM 结点未发生变化)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
最后
javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。
[外链图片转存中…(img-ItzeumCr-1712961177731)]
[外链图片转存中…(img-xCz63tpJ-1712961177731)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-snlWdK8B-1712961177731)]