js刷题之路
刷题之路
原莱_
匍匐也要前进
展开
-
js树形数据扁平化
问题描述{ a: { b: 1, c: 2, d: {e: 5} }, b: [1, 3, {a: 2, b: 3}], c: 3}// 转换{ 'a.b': 1, 'a.c': 2, 'a.d.e': 5, 'b[0]': 1, 'b[1]': 3, 'b[2].a': 2, 'b[2].b': 3, 'c': 3} 实现代码var comType=['object','array'];let o原创 2022-02-22 15:01:38 · 2503 阅读 · 0 评论 -
js平铺对象转化树形数据
问题描述{ 'A': 1, 'B.A': 2, 'B.B': 3, 'CC.D.E': 4, 'CC.D.F': 5};--------------转换成---------------------- { 'A': 1, 'B': { 'A': 2, 'B': 3 }, 'CC': { 'D': { 'E': 4, 'F': 5 } } }实现代码l原创 2022-02-22 14:58:44 · 727 阅读 · 0 评论 -
Restaurant之坐在哪吃饭
题目描述:一个餐厅,有n个凳子排列成一排,人们进进出出。每个人都想坐在离别人尽量远的位置坐着吃饭,现在给你这些人进进出出的序号,请你输出这些人会坐在哪儿呢?如果有多个位置合法,人们喜欢坐在序号最小的凳子上面。输入描述第一行两个整数n,m,表示餐厅椅子数量和操作数。接下来m行,每行两个整数F和x。F是1表示编号为x的人进入餐厅吃饭。F是2表示编号为x的人出餐厅。保证操作合法。满足n,m<=200000,x<=1000000输出描述:对于所有操作1,输出一个整数,表示椅子的编号。样例输.原创 2022-01-27 17:40:30 · 425 阅读 · 0 评论 -
八卦锁的数量
题目描述:陆伯言来到山顶观察此八卦阵,记从左往右第i堆石堆的高度为A[i],发现任何两堆较矮的石堆都能和它们之间的一座较高的石堆形成"八卦锁",将其中之人牢牢锁住,无从逃脱。根据石堆的情况,陆伯言大致计算了“八卦锁”的数量,陆伯言大致计算了“八卦锁”的数量(即 A[i] < A[j] > A[k] 且I < j < k的组合数),不禁心中一惊,对孔明惊为天人,遂放弃追击,收兵回吴。“有劳岳父了。” “为何将其放走?” “…一表人才,何必浪费于此。”输入描述第一行一个整数n,表.原创 2022-01-26 14:41:31 · 849 阅读 · 0 评论 -
第k小的双素数
题目描述:一个正整数是素数当且仅当它除了1和自身以外没有其他因子。现在我们定义双素数:一个正整数是双素数当且仅当它本身是个素数,并且将他的十进制表示反转后得到数不等于它自身且也是个素数。如13就是一个双素数,因为13和31不相等且都是素数。现给出一个整数k,你需要找到第k小的双素数。输入描述第一行包含一个整数K。1≤k≤10000。输出描述若第k小的双素数不超过106则输出它,否则输出-1。样例输入1样例输出13题目来自于:https://www.acmcoder.com/#/pr.原创 2022-01-25 14:25:16 · 444 阅读 · 0 评论 -
小明一共看了多少朵不同的花儿
题目描述:小明有一个花园,花园里面一共有m朵花,对于每一朵花,都是不一样的,小明用1~m中的一个整数表示每一朵花。他很喜欢去看这些花,有一天他看了n次,并将n次他看花的种类是什么按照时间顺序记录下来。记录用a[i]表示,表示第i次他看了a[i]这朵花。小红很好奇,她有Q个问题,问[l,r]的时间内,小明一共看了多少朵不同的花儿,小明因为在忙着欣赏他的花儿,所以想请你帮他回答这些问题。输入描述输入两个数n,m;(1<=n<=2000,1<=m<=100);分别表示n次看花,m表.原创 2022-01-22 14:41:33 · 316 阅读 · 0 评论 -
最长有效括号序列
题目描述:小红很喜欢数学符号,有一天,小明给了小红一个很长的括号字符串。小红对此很感兴趣,她想知道,最长的合法括号序列是多长。可知"“是合法的,”()“是合法的,”()()“也是合法的。但是”)()"是非法的。输入描述 : 第一行一个整数n,表示括号字符串的长度。第二行一个长度为n的字符串,只包含"(",")"。满足 1<=n<=100000输出描述 : 输出最长的括号序列长度。样例输入3())样例输出2题目来自于:https://www.acmcoder.com/#/p.原创 2022-01-21 14:45:15 · 855 阅读 · 1 评论 -
圈地运动-组成面积大于0多边形
题目描述:圈地运动,就是用很多木棍摆在地上组成一个面积大于0的多边形~小明喜欢圈地运动,于是他需要去小红店里面买一些木棍,期望圈出一块地来。小红想挑战一下小明,所以给小明设置了一些障碍。障碍分别是:1.如果小明要买第i块木棍的话,他就必须把前i-1块木棍都买下来。2.买了的木棍都必须用在圈地运动中。那么请问小明最少买多少根木棍,才能使得木棍围成的图形是个面积大于0多边形呢?输入描述:第一行一个数n,表示木棍个数。 第二行n个数,第i个数表示第i个木棍的长度ai 1<=n<=10000 1&.原创 2022-01-20 15:36:06 · 570 阅读 · 0 评论 -
若干个a加上若干个b,组成c
题目描述:现在你有三个数,a,b,c。想问是否能够由若干个a加上若干个b,组成c。输入描述包含若干组测试数据。 对于每组测试数据。第一行有三个整数,分别表示a,b,c。满足 1<=a,b<=100,1<=c<=100000输出描述:如果可以,输出Yes。如果不行,请输出No样例输入3 2 53 2 1样例输出YesNo题目来自于:https://www.acmcoder.com/#/practice/codevar forwhile = functio.原创 2022-01-19 15:06:38 · 746 阅读 · 0 评论 -
能够点亮多少个灯泡
题目描述:在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮。现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢?输入描述第一行一个n,表示有n组开关。接下来n行,每行第一个整数为k,表示这个开关控制k个灯泡,接下来k个整数,表示控制的灯泡序号。满足: 1<=n<=1000,1<=k<=1000,序号是在int范围内正整数。输出描述:输出最多多少个灯泡点亮。样例输入31 11 22 1 2样例输出2题目来自于:https://www.a.原创 2022-01-19 15:04:17 · 462 阅读 · 0 评论 -
计算搭积木是否能拼接成一个整体
题目描述:一天,小明买了许多积木回家,他想把这些积木拼接在一起。每块积木有两个接口,每个接口我们用一个数字标记,规定只有当两块积木有相同数字标记的接口时,这两块积木才可以通过该接口拼接在一起。举例,有两块积木,接口数字分别为1,2和3,4,那么这两块积木无法拼接;若两块积木接口数字分别为1,2和2,3,那么这两块积木可以通过由数字2标记的接口拼接在一起。现在小明知道所有积木的数量和每块积木接口的数字标记,你能告诉他他可以将所有积木拼接成一个整体么?输入描述第一行一个整数t,表示测试数组组数1≤t≤1.原创 2022-01-18 15:10:44 · 963 阅读 · 0 评论 -
直线滑行能够移除多少个箭头
题目描述:在游戏口袋妖怪中,有时会碰到这样的关卡:在地面上有一些箭头,当你踩上这个箭头时你就会被迫按箭头指示的方向传送。现在你的面前有一行由这样的箭头组成的装置,每个箭头都是指向左或者指向右的,如: 你可以从任意的位置进入这个装置,当你踏上某个格子后,就会被按该格子箭头指示的方向传送,然后该格子的箭头就会消失。你会一直按这个方向前进直到碰到另一个有箭头的格子,然后你的前进方向会改为该格子的箭头方向,同时该格子的箭头也会消失。当你往一个方向前进但前面没有包含箭头的格子时,你就会被传送出这个装置。在上图中.原创 2022-01-14 17:31:24 · 446 阅读 · 0 评论 -
大整数截取
题目来自于:https://www.acmcoder.com/#/practice/code题目描述:花花有一个很珍贵的数字串,但是它太长了,没有办法保留下来,所以她想截取其中一段保存下来,但是她希望截取下来的这一段数对1000000007取模之后等于Ai,她想知道有多少种截取方案。数字串S中截取一段是指S[L], S[L+1], …, S[R]连起来所形成的十进制数,其中L和R满足1≤L≤R≤|S|。例如S=“1023456789”,S(1,2)=10,S(2,4)=23,S(2,10)=23456.原创 2022-01-12 15:01:48 · 1613 阅读 · 3 评论 -
易位法字符串加密
题目来自于:https://www.acmcoder.com/#/practice/code**题目描述:**易位法字符串加密密码学是一门既古老又年轻的学科。说它古老,是因为早在几千年前,人类就已经有了通信保密的思想,并先后出现了易位法和置换法等加密方法。到了1949年,信息论的创始人香农(C.E.Shannon)论证了由传统的加密方法所获得的密文,几乎是都可攻破的,这使得密码学的研究面临着严重的危机。 直至进入20世纪60年代,由于电子技术和计算机技术的迅速发展,以及结构代数、可计算性理论学科研究.原创 2022-01-11 15:58:37 · 1475 阅读 · 0 评论 -
分赃最优策略
题目来自于:https://www.acmcoder.com/#/practice/code**题目描述:**分金币小明和n个人发现了一个宝藏,里面有m个宝石。为了分赃。大家决定采用一种方式分赃,分赃的方式如下:1)每个人由抽签决定了自己的号码(1,2,3…n+1)。2)由n+1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时(包括他自己),按照他的方案进行分配,否则这个人将被杀死。3)n+1号死后,由n号接替n+1号对剩下的人提出分配方案,类似2步骤。以此类推。大家都有如下的几个性格.原创 2022-01-10 17:10:40 · 831 阅读 · 0 评论 -
火车站台运营的最大线路数
题目来自于:https://www.acmcoder.com/#/practice/cod题目描述:在Z省,有若干个城市坐落在一条直线上,从左到右依次标号1,2,3,…,其中每个城市有一个火车站点,现今已经开放了n条火车路线,第i条火车路线是从第Yi个城市到第Xi个城市,因为Z省地势奇特,标号小的城市地势较低,所以火车是从高往低开的,再通过神秘力量传送回高地,即Yi一定大于Xi,它在沿途的所有城市都会停靠(显然不包括起点Yi,但是包括终点Xi),火车停靠就需要火车站台来运营维护。火车站台随着运营线路的.原创 2022-01-08 16:01:41 · 795 阅读 · 0 评论 -
赛马分配队伍
题目来自于:https://www.acmcoder.com/#/practice/code题目描述:沫璃有2*n匹马,每匹马都有一个速度v。现在沫璃将马分成两个队伍,每个队伍各有n匹马,两个队之间进行n场比赛,每场比赛两队各派出一匹马参赛,每匹马都恰好出场一次。沫璃想知道是否存在一种分配队伍的方法使得无论怎么安排比赛,第一个队伍都一定能获得全胜。两匹马若速度不一样,那么速度快的获胜,若速度一样,则都有可能获胜。输入描述第一行一个数T(T<=100),表示数据组数。对于每组数据,第一行一个.原创 2022-01-08 14:37:44 · 594 阅读 · 0 评论 -
ktv离开时能不能唱完
题目来自于:https://www.acmcoder.com/#/practice/code题目描述:有n个人去KTV唱歌,每个人都有自己想唱的一些歌曲。已知该KTV每个房间都只有x个麦克风,同一首歌可以同时多人一起唱,但是同时唱的人不能超过x人,同一时刻只能唱一首歌。一共只有y首歌的时间,所有人想唱的歌都唱完或者y首歌唱完了他们就会离开。他们想知道在最优的安排策略下(让每个人尽量唱完自己想唱的歌),当他们离开时是否还有人有想唱的歌没有唱。输入保证每个人想唱的歌都不同。输入描述第一行一个整数T,表.原创 2022-01-07 15:03:56 · 675 阅读 · 1 评论 -
manager录取多少人
题目描述:小明是一个互联网公司的老板,需要招聘员工。现在有k个学校的学生前来应聘。由于特殊原因,要求最后入职的员工学校的人数应该都不一样。比如我们可以A大学录取5人,B大学录取4人。但是不允许A大学和B大学都录取5人。请问最后最多录取多少人呢?输入描述:3 3 3 2输出描述: 6输出最多录取人数//从小到大进行排序,每个位置的数字即为录取人数,每一项需比前一项大至少1(arr[i]+1<=arr[i+1]需成立),满足则继续,反之此项-1,且之前每一项循环判断是否需要减一,以此类推,.原创 2022-01-06 14:45:46 · 3282 阅读 · 1 评论 -
打字按键次数
题目描述:小明很喜欢打字,今天小红给了小明一个字符串。这个字符串只包含大写和小写字母。 我们知道,按下CapsLock键,可以切换大小写模式。我们在小写模式时候,同时按下shift+字母键,就能写出大写字母。在大写模式的时候,按下shift+字母键,就能写出小写字母。现在问题来了,给你一个字符串,问你最少使用多少个按键,就可以写出这个字符串呢?注意,按shift和字母键,算两次按键。开始时均为小写状态。输入描述:数据一个字符串s,s的长度小于等于100。仅包含大小写字母。输出描述:对于每组数据,输出.原创 2022-01-05 16:43:30 · 2621 阅读 · 0 评论