搜狗2019秋招前端工程师编程题合集(第一场)

时长:120分钟 总分:100分

128浏览 0人已完成答题

题型介绍
题型 填空题
数量 3
1.
数字序列
问题详情

一个由若干个取值范围在[1,2^31-1]的整数构成长度为N的数字序列,其中N<=5,000,000;求该数字序列上一段最小的连续区间的长度,要求该区间内正好包含了所有不同的数字,如果存在多个这样的区间,按照出现的顺序有序输出所有的区间起始和结束位置,序列的位置编号从1到N,其中最小的区间长度不会超过10,000。 输入描述: 第一行:N
第2至N+1行:每行1个数输入样例: 10 1 1 3 4 6 6 5 1 3 3 输出描述: 第一行:最小的区间长度 区间个数X (以空格进行分隔)
第二行:X个区间的起始和结束位置,按照出现的顺序有序输出,多个区间之间以空格分隔,每个区间的输出格式如下所示:[start,end],最后以换行结尾输出样例 6 3 [2,7] [3,8] [4,9]
2.
UTF-8 编码验证
问题详情

UTF-8 中的一个字符可能的长度为 1 到 4 字节,遵循以下的规则:
1. 对于 1 字节的字符,字节的第一位设为0,后面7位为这个符号的unicode码。
2. 对于 n 字节的字符 (n > 1),第一个字节的前 n 位都设为1,第 n+1 位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。
这个是UTF-8编码的工作方式:

   Char. number range  |        UTF-8 octet sequence
      (hexadecimal)    |              (binary)
   --------------------+---------------------------------------------
   0000 0000-0000 007F | 0xxxxxxx
   0000 0080-0000 07FF | 110xxxxx 10xxxxxx
   0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
   0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
给定一个表示数据的整数数组,返回它是否为有效的 utf-8 编码。
注意:
输入是整数数组。只有每个整数的最低 8 个有效位用来存储数据。这意味着每个整数只表示 1 字节的数据。



输入描述: 多行字符串,每行字符串包括整数数字以及数字之间分隔符英文逗号(,)。每个整数只有最低8个有效位来存储数据,这就意味着每个整数只表示一个字节的数据。输入样例: 197,130,1 输出描述: 对输入的每行数据均进行验证,并输出true或者false。true代表有效的utf-8编码,false则是无效的。输出样例 true
3.
拖拽拼图
问题详情

页面左边为可以使用的拼图,右边为拼图的位置,两者通过序列号对应,页面元素均已经标记id。
请完成drag函数,当执行drag后,可以实现如下需求
1. 用户可以把左边的拼图块全部移到右边对应位置,全部移动完成要求弹出提示框显示拼图成功(提示框为id标记为success的div标签)
2. 如果在移动途中松开鼠标,则
  2.1 左侧拼图模块如果没有和目标位置发生重合,拼图模块需要回到原来的位置
  2.2 如果拼图模块和目标位置有2/3以上重合则认为拼图成功,此时拼图模块移动到目标位置,并且无法再次拖动
3. 在移动时鼠标需要一直在拼图模块上,否则拼图模块停止移动
4. 当前页面默认已经调用drag函数,请不要删除该调用语句
5. 请不要手动修改html和css
6. 不要使用第三方插件
7. 请使用ES5语法