
牛客
G1useppE
前端入门小白
展开
-
华为机考:二叉树的层序遍历
题目:给定一棵二叉树的前序遍历和中序遍历,求其层序遍历的结果。输入:两个字符串,其长度n均小于等于26第一行为前序遍历,第二行为中序遍历二叉树中的结点名称以大写字母表示:A,B,C….最多26个结点输出:输入样例可能有多组,对于每组测试样例输出一行,为后序遍历的字符串样例输入:FDXEAGXDEFAG...原创 2022-05-31 17:57:59 · 1716 阅读 · 0 评论 -
整数对最小和
问题:给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值。注意:两对元素如果对应于array1、array2中两个下标均相同,则视为同一对元素。输入描述输入两行数组array1、array2,每行首个数字为数组大小size(0<size<=100)0<array1[i]<=10000<array2[i]<=1000接原创 2022-05-31 10:21:41 · 290 阅读 · 0 评论 -
字符串变换最小字符串
题目:给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。变换规则:交换字符串中任意两个不同位置的字符。解题思路:1、对字符串按照字典序进行排序,找到字典序最小的字符串。2、找到这个字符串中字典序最小的字符的位置。3、找到字符串中第一个跟最小字符串不相同的字符的位置,然后跟第一个最小字符进行交换。4、题目规定只能交换一次,交换后得到的就是最小字符串。代码:function changeString(str) { .原创 2022-05-29 00:47:44 · 1804 阅读 · 6 评论 -
一种字符串压缩表示的解压
题目:有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。例如:字符串“aaabbccccd”经过压缩成为字符串“3abb4cd”。 请您编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符串,若输入合法则输出解压缩后的字符串,否则输出字符串“!error”来报告错误。解题思路:利用正则表达式进行判断每个位置上的字符是字母还是数字,进而执行不同操作。具体题解在下面代码的注释中。代码:fu.原创 2022-05-28 21:14:02 · 914 阅读 · 0 评论 -
非严格递增连续数字序列
题目:输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度(比如12234属于非严格递增连续数字序列)。解题思路:1、创建一个dp数组,来保存每个位置上的非严格递增连续数字序列的长度,因为是非严格,因此相邻两个数可以相等。2、初始化dp数组时应该将每个位置都填充上1,因为数字本身就可以作为一个长度为1的递增序列。3、Math.max.apply()可以调用数字中的求最大值的方法,数组本身没有求最大值的方法,但通过apply调用,appl.原创 2022-05-28 01:49:27 · 1572 阅读 · 0 评论 -
第K个排列
题目:给定参数n,从1到n会有n个整数:1,2,3,…,n,这n个数字共有 n! 种排列。按大小顺序升序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:"123""132""213""231""312""321"给定 n 和 k,返回第 k 个排列。解题思路:这是一道全排列的变种问题,给定参数n表示1~n范围内的整数。求所有排列,再根据参数k得到所有排列中的第k个元素。这里需要注意第k个元素转换成索引形式应该是k-1,得到所有全排列的结果集原创 2022-05-27 23:15:16 · 692 阅读 · 0 评论 -
数字涂色js
题目:疫情过后,希望小学终于又重新开学了,三年二班开学第一天的任务是将后面的黑板报重新制作。黑板上已经写上了N个正整数,同学们需要给这每个数分别上一种颜色。为了让黑板报既美观又有学习意义,老师要求同种颜色的所有数都可以被这种颜色中最小的那个数整除。现在请你帮帮小朋友们,算算最少需要多少种颜色才能给这N个数进行上色。输入描述第一行有一个正整数N,其中1≤N≤100。第二行有N个int型数(保证输入数据在[1,100]范围中),表示黑板上各个正整数的值。输出描述输出只有一个整数,为最少需要的颜原创 2022-05-27 21:16:09 · 449 阅读 · 0 评论 -
工号不够用了怎么办?
题目:3020年,空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。现在,请你负责调研新工号系统。继承历史传统,新的工号系统由小写英文字母(a-z)和数字(0-9)两部分构成。新工号由一段英文字母开头,之后跟随一段数字,比如"aaahw0001","a12345","abcd1","a00"。注意新工号不能全为字母或者数字,允许数字部分有前导0或者全为0。但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数X和新工号中字母的长度Y,求新工号中数字的最短长度Z。输原创 2022-05-27 18:35:24 · 3605 阅读 · 0 评论 -
用连续自然数之和来表达整数
题目:一个整数可以由连续的自然数之和来表示,给定一个整数,计算该整数有几种连续自然数之和的表达式,并打印出每一种表达式。输入描述一个目标整数t 1<= t <=1000输出描述1.该整数的所有表达式和表达式的个数如果有多种表达式,自然数个数最少的表达式优先输出2.每个表达式中按自然数递增输出具体的格式参见样例在每个测试数据结束时,输出一行"Result:X"其中X是最终的表达式个数输入9输出9=99=4+59=2+3+4Result:3说明 整数9原创 2022-05-27 17:14:15 · 508 阅读 · 0 评论 -
找出符合要求的字符串子串
题目:给定两个字符串,从字符串2中找出字符串1中的所有字符,去重并按照ASCII值从小到大排序输入字符串1:长度不超过1024输入字符串2:长度不超过1000000字符范围满足ASCII编码要求,按照ASCII的值由小到大排序输入描述:bachbbaaccedfg输出描述:abc解题思路:1、用哈希表存储字符串2中每个出现的字符,通过判断字符串1中的字符是否在字符串2中出现,如果出现就添加到新的数组中。2、对新的数组进行排序,并转换成字符串得到最终结果。原创 2022-05-27 12:26:44 · 478 阅读 · 0 评论 -
寻找同班小朋友js
题目:幼儿园两个班的小朋友排队时混在了一起每个小朋友都知道自己跟前面一个小朋友是不是同班请你帮忙把同班的小朋友找出来小朋友的编号为整数与前面一个小朋友同班用Y表示不同班用N表示输入描述:输入为空格分开的小朋友编号和是否同班标志比如 6/N 2/Y 3/N 4/Y表示一共有4位小朋友2和6是同班 3和2不同班 4和3同班小朋友总数不超过9990< 每个小朋友编号 <999不考虑输入格式错误输出两行每一行记录一班小朋友的编号 编号用空格分开并且1...原创 2022-05-26 22:08:09 · 584 阅读 · 0 评论 -
TLV解码js
题目:TLV 编码是按 [ Tag Length Value ] 格式进行编码的,一段码流中的信元用Tag标识, Tag在码流中 唯一不重复 ,Length表示信元Value的长度,Value表示信元的值。码流以某信元的Tag开头,Tag固定占 一个字节,Length固定占 两个字节,字节序为 小端序 。现给定TLV格式编码的码流,以及需要解码的信元Tag,请输出该信元的Value。输入码流的16进制字符中,不包括小写字母,且要求输出的16进制字符串中也不要包含小写字母;码流字符串的最大长度不原创 2022-05-26 15:38:19 · 1401 阅读 · 0 评论 -
VLAN资源池
题目描述:VLAN是一种对局域网设备进行逻辑划分的技术,为了标识不同的VLAN,引入VLAN ID(1-4094之间的整数)的概念。定义一个VLAN ID的资源池(下称VLAN资源池),资源池中连续的VLAN用开始VLAN-结束VLAN表示,不连续的用单个整数表示,所有的VLAN用英文逗号连接起来。现在有一个VLAN资源池,业务需要从资源池中申请一个VLAN,需要你输出从VLAN资源池中移除申请的VLAN后的资源池。输入描述:第一行为字符串格式的VLAN资源池,第二行为业务要申请的VLA原创 2022-05-18 00:28:14 · 1043 阅读 · 0 评论 -
数组组成的最小数字
题目:最小数字:给定一个整型数组,请从该数组中选择3个元素组成最小数字并输出(如果数组长度小于3,则选择数组中所有元素来组成最小数字)。输入描述:一行用半角逗号分割的字符串记录的整型数组,0 < 数组长度 <= 100,0 < 整数的取值范围 <= 10000。输出描述:由3个元素组成的最小数字,如果数组长度小于3,则选择数组中所有元素来组成最小数字。示例 1:输入21,30,62,5,311输出213051说明数组长度超过3,需要选3个元素组成原创 2022-05-17 16:04:25 · 2613 阅读 · 2 评论 -
整形数组按个位值排序js
题目:给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素,相对位置保持不变。当数组元素为负值时,十进制最低位等同于去除符号位后对应十进制值最低位。解题思路:1.使用哈希表存储数组元素取模后的结果,对数组元素的绝对值进行%10,直到取模结果小于10为止。2.通过自定义排序,根据数组元素的取模结果大小来进行排序。代码:function sortArray(arr) { const map = new Ma.原创 2022-05-16 17:34:31 · 590 阅读 · 0 评论 -
勾股数元组js
题目:如果3个正整数(a,b,c)满足的关系,则称(a,b,c)为勾股数(著名的勾三股四弦五),为了探索勾股数的规律,我们定义如果勾股数(a,b,c)之间两两互质(即a与b,a与c,b与c之间均互质,没有公约数),则其为勾股数元祖(例如(3,4,5)是勾股数元祖,(6,8,10)则不是勾股数元祖)。请求出给定范围[N,M]内,所有的勾股数元祖。解题1:1.依次判断这三个数是否互质,将判断互质方法封装成一个函数。如果两个数有公约数,那么就返回1,这两个数不互质。2.只要这三个数当中任原创 2022-05-15 19:05:48 · 1441 阅读 · 0 评论 -
太阳能板最大面积js
题目:给航天器一侧加装长方形或正方形的太阳能板(图中的红色斜线区域),需要先安装两个支柱(图中的黑色竖条),再在支柱的中间部分固定太阳能板。但航天器不同位置的支柱长度不同,太阳能板的安装面积受限于最短一侧的那根支柱长度。如图:输入描述10,9,8,7,6,5,4,3,2,1注释,支柱至少有两根,最多10000根,能支持的高度范围1~10^9的整数,柱子的高度是无序的,例子中的递减是巧合输出描述可以支持的最大太阳板面积:(10m高支柱和5m高支柱之间)25示例1输入原创 2022-05-15 12:02:13 · 998 阅读 · 0 评论 -
最长连续子序列js
题目描述:有N个正整数组成的一个序列,给定一个整数sum求长度最长的的连续子序列使他们的和等于sum返回次子序列的长度,如果没有满足要求的序列 返回-1备注:输入序列仅由数字和英文逗号构成,数字之间采用英文逗号分割序列长度 1<=N<=200,输入序列不考虑异常情况由题目保证输入序列满足要求示例输入:1,2,3,4,26输出:3解析:1,2,3和4,2两个序列均能满足要求,所以最长的连续序列为1,2,3 因此结果为3输入:1,2,3,4,220原创 2022-05-10 22:04:12 · 914 阅读 · 0 评论 -
计算GPU算力js解法
题目:为了充分发挥GPU算力, 需要尽可能多的将任务交给GPU执行, 现在有一个任务数组, 数组元素表示在这1s内新增的任务个数, 且每秒都有新增任务, 假设GPU最多一次执行n个任务, 一次执行耗时1s, 在保证GPU不空闲的情况下,最少需要多长时间执行完成。输入描述第一个参数为gpu最多执行的任务个数 取值范围1~10000第二个参数为任务数组的长度 取值范围1~10000第三个参数为任务数组 数字范围1~10000输出描述 执行完所有任务需要多少秒例子输入351 2原创 2022-05-11 13:50:38 · 951 阅读 · 0 评论 -
寻找身高相近的小朋友js
小明今年升学到了小学1年级,来到新班级后,发现其他小朋友身高参差不齐,然后就想基于各小朋友和自己的身高差,对他们进行排序。请帮他实现排序:输入描述第一行为正整数 h和n0<h<200 为小明的身高0<n<50 为新班级其他小朋友个数第二行为n各正整数h1 ~ hn分别是其他小朋友的身高取值范围0<hi<200且n个正整数各不相同 输出描述 输出排序结果,各正整数以空格分割 和小明身高差绝对值最小的小朋友排在前面原创 2022-05-12 13:14:56 · 1199 阅读 · 0 评论 -
最大子数组和js解法
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23题解1:(贪心)解题思路:贪心就是从局部最优解中,推出全局最优解。局部最..原创 2022-05-08 14:23:57 · 613 阅读 · 0 评论 -
合唱队js题解
题目:N 位同学站成一排,音乐老师要请最少的同学出列,使得剩下的 K 位同学排成合唱队形。设K位同学从左到右依次编号为 1,2…,K ,他们的身高分别为T1,T2,…,TK ,若存在i(1≤i≤K) 使得T1<T2<......<Ti−1<Ti 且 Ti>Ti+1>......>TK,则称这K名同学排成了合唱队形。通俗来说,能找到一个同学,他的两边的同学身高都依次严格降低的队形就是合唱队形。例子:123 124 125 12原创 2022-05-13 17:19:57 · 603 阅读 · 1 评论