三个编程题 + 一个功能手写题,不得不说最后这个功能题很有意思,不能用本地IDE,平台带的插入代码是没有代码提示的,基本上就属于是txt编程了😂
题目一
给你一个字符串数组words,数组中的每个字符串都可以看作是一个单词。请你按任意顺序返回words中是其他单词的子字符串的所有单词。如果你可以删除words[j]最左侧和/或最右侧的若干字符得到word[i],那么字符串words[i]就是words[j]的一个子字符串。
同力扣1408题https://leetcode.cn/problems/string-matching-in-an-array/
先按字符串长度排序再两层for循环即可
题目二
给你一个整数num。重排num中的各位数字,使其值最小化且不含任何前导零,返回不含前导0且值最小的重排数字。注意,重排各位数字后,num的符号不会改变。
这题的用例感觉非常神奇,貌似没有出现负数,个人解法是将数字转为字符串然后数组升序排序,再将前导0和第一个非零数字替换,没有特殊处理负数,但也AC了,对于负数应该要降序排序。
题目三
字典wordList中从单词beginWord和endWord的转换序列是一个按下述规格形成的序列beginWord->s1->s2->…->sk;
每一对相邻的单词只差一个字母。对于1 <= i <= k时,每个si都在wordList中。注意,beginWord不需要在wordList中,sk == endWord,给你两个单词beginWord和endWord和一个字典wordList,返回从beginWord到endWord的最短转换序列中的单词数目。如果不存在这样的转换序列,返回0
这题的用例感觉就更神奇了,除了判断一个endWord不在wordList中以外,直接返回endWord和beginWord的字母差数+2就AC了
功能手写题(业务类型题)
将骰子的六个面分两行三列展示在页面上,页面上还有开始和暂停两个按钮,点击开始时随机选中骰子一个面(变色),然后每500ms换成下一面,如果不点击暂停则5s后停止,如果再次点击开始则重新计数
简单来说就是写一个html文件,既要写css也要写js和html。
笔试时原代码(牛客,多行文本输入框近乎0提示手写):
1 | <html> |
犯错点有:
- html中不存在div单闭合标签,那是react的东西(出来之后一想,反正是txt为啥我不写react,被自己蠢哭.jpg)
- Math.random()忘了取整
- 不是childList而是childNodes,并且需要筛掉nodeName非DIV的标签
下午上班(实习)摸鱼用vscode写的版本:
1 |
|
😃只能说多谢这两个多月的实习,这种业务类型的之前在tx笔试上一脸懵,现在基本上能轻松解决了(当然最好是给我一下代码提示😂,不然有些真记不住)