说明
如题,本文内容为2021届秋招前端岗位第一次笔试真题。
题目
题目总共有5道,均为编程题,每题20分,共计100分
字符串截断
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %IId
语言限制:JavaScript(V8 6.0.0)
题目描述
给定显示宽度为N(英文字符宽度),对于任意字符串L(中英文都有可能出现,中文占两个字符宽度,不含换行),设计一个截断算法,使其能在N以内正确显示。 如果字符串L刚好能在N以内显示,那就不需要显示\`...\`,如果L不能在N内显示完,需要在最后显示\`...\`表示发生了截断。
输入描述:
第一行为字符串L 第二行为N
输出描述:
截断后的字符串
示例1
输入
1234567890 7输出
1234...
示例2
输入
一二三四五六七八 8输出
一二...
调节水温
时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %IId
题目描述
Q妹每天洗澡的时候,都会因为控制不好水温而难受。
着将看水龙头每个单位时间放出1毫升水, 第1个单位时间的水温为ai
度,水温会越来越高或不变,不考虑热量的流失。
Q妹只能在整点单位时间决定水的开或关。当然,Q妹可以将其中一部分水倒掉。
Q妹的目标在接下来n个时间单位内收集至少m升的至少k度的热水,混合的水温会取混合的水的温度的平均值。
她希望尽可能节约用水,问最小用水量(包括其中一部分倒掉的水)。
如果Q妹无论如何在接下来n个时间单位里都无法完成目标,输出-1。
输入描述:
第一行输入三个整数n,m,k,分别为时间的长度,牛牛需要的毫升数和温度。 第二行输入n个整数,第i个表示第i个单位时间的平均水温ai
m <= n <= 106, 0 <= ai <= 1000
输出描述:
一行一个整数表示答案
示例1
输入
10 5 50 10 20 30 40 50 60 70 70 70 70输出
7说明
Q妹将前2秒的水倒掉,收集第3秒到第7秒的水,即可完成需求。 所以使用的水量总和为前7秒的水的总和,共7毫升。
点击效果
时间限制:3秒
空间限制:262144K
64bit IO Format: %IId
题目描述
界面中存在id=jsContainer的节点A,系统会随机生成id为jsLayout的 m行x n列 表格(m>=3.n>=3), 并随机选中一个td节点,请按照如下需求实现bind函数
1、bind 函数为每个td节点绑定click事件,当某个td节点被点击时class变为current, 同时以该td为中心的同一行和同一列td节点class变为wrap, 具体效果参考以下图片
2、每次click后,请清空所有不需要变动的td节点的class
3、请不要手动调用bind函数
4、当前界面为系统生成 9*9 表格,执行bind函数,并点击其中td后的效果
5、请不要手动修改html和css
6、不要使用第三方播件
function bind() {
}
栈中的最小值
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %IId
题目描述
实现一个特殊功能的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。
输入描述:
第一行输入一个整数N,表示对栈进行的操作总数。 下面N行每行输入一个字符串S,表示操作的种类。 如果S为"push",则后面还有一个整数X表示向栈里压入整数X。 如果S为"pop",则表示弹出栈顶操作。 如果S为"getMin",则表示询问当前栈中的最小元素是多少。 1 <= N <= 1000000, -1000000 <= X <= 1000000 数据保证没有不合法的操作。
输出描述:
对于每个getMin操作,输出一行表示当前栈中的最小元素是多少。
示例1
输入
6 push 3 push 2 push 1 getMin pop getMin输出
1 2
校验颜色值是否合法
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %IId
语言限制:JavaScript(V8 6.0.0)
题目描述
校验传入的颜色值是否有效,需要支持 hex、rgb(a)、hsl(a)编码
输入描述:
颜色值
输出描述:
是否合法,有效输出 valid,无效输出 invalid
示例1
输入
rgb(10,20,30)输出
valid
最后
点击效果题目相应的html和css无法保存,所以只能如题目下图所示,不过影响不大,知道思路即可,请自行编写代码。