字节跳动2018校招前端方向(第四批)
时长:120分钟 总分:100分
211浏览 0人已完成答题
题型介绍
题型 | 填空题 | 简答题 |
---|---|---|
数量 | 2 | 2 |
以下函数用于将一颗二叉搜索树转换成一个有序的双向链表。要求不能创建任何新的...
以下函数用于将一颗二叉搜索树转换成一个有序的双向链表。要求不能创建任何新的节点,只能调整树种节点指针的指向。
如输入下图中左边的二叉搜索树,则输出转换后的排序双向链表:
10
/ \
6 14
/ \ / \
4 8 12 16
转换成:
4 <=> 6 <=> 8 <=> 10 <=> 12 <=> 14 <=> 16
请指出程序代码中错误的地方(问题不止一处,请尽量找出所有你认为错误的地方):
1 #include <stack>
2 using namespace std
3
4 struct TreeNode {
5 int val
6 TreeNode *left, *right
7 }
8
9 TreeNode* Convert(TreeNode* root){
10 if (root == NULL)
11 return root
12
13 TreeNode* listHead = NULL
14 TreeNode* listLastNode = NULL
15
16 stack<TreeNode*> s
17 while(root){
18 while(root){
19 root=root->left
20 s.push(root)
21 }
22 root=s.top()
23 s.pop()
24 if (listHead == NULL){
25 listHead = root
26 }else{
27 listLastNode->right = root
28 }
29 listLastNode = root
30 root= root->right
31 }
32 return listHead
33 }
设计一个红包生成的模拟器,要求实现如下功能设计: ...


图二: 生成过程页面
图三: 结果页面
图四: 整体效果(动态)
图五: 头像素材地址:
设计需求
1. 页面上支持自定义红包输入的个数和金额,数值类型不能为空且必须大于1,效果如图一所示
2. 点击发送红包按钮,可以进入红包生成的loading页面,效果如图二所示,模态框的宽高为300*450px,垂直居中页面,包含必要的头像和文案,拆红包按钮可以围绕中轴线做旋转动画
3. 点击拆红包按钮后,会有一个向上的开红包的动画,根据前面输入的个数和金额生成红包获取列表,红包生成规则见附注。
4. 金额最高的作为“手气最佳”进行标注,见图三中的领取榜单所示
5. 从生成的红包列表中随机取出一个值作为你抢到的红包值,见图三中头像下的数字所示
红包生成规则
1. 红包的数值是随机的,并且数值的分布近似于正态分布。
2. 所有人都能分到红包,不会出现红包数值为0的情况,额度在0.01和(剩余平均值*2)之间。
3. 所有人的红包数值加起来等于支付的金额
4. 整体效果参考动态图,可以根据自身能力的情况侧重完成所擅长的环节(css页面,js交互,生成逻辑等)
编程题1
接下来的t行每行包括四个数字 n, k, d1, d2(1 <= n <= 10^12 0 <= k <= n, 0 <= d1, d2 <= k)输入样例: 2 3 3 0 0 3 3 3 3 输出描述: 每行的比分数据,最终三只球队若能够打平,则输出“yes”,否则输出“no”输出样例 yes no