作者:冰点youth | 来源:互联网 | 2023-08-24 12:05
统计字符串中连续字母数量最多的\num,匹配num,其中num是一个正整数。对所获取的匹配的引用,“(.)\1”匹配两个连续的相同字符console.log(aa
统计字符串中连续字母数量最多的
// \num,匹配num,其中num是一个正整数。对所获取的匹配的引用,“(.)\1”匹配两个连续的相同字符
// console.log('aaasdofjaopfjopaiiisjssfopiasdfffff'.match(/(.)\1+/g))
var str = 'aaasdofjaopfjopaiiisjssfopiasdfffff'
var result = str.match(/(.)\1+/g)
var arr = []
for (var i = 0; i }
arr.sort((a, b) => {return a-b
})
var maxNumber = arr[arr.length - 1]
for (var i = 0; i }
【题1】来自用友
请判断一个字符串出现次数最多的字符及出现次数?
输入:const str = 'asddfgdfwwqeweqwezczxcsdfgdgd';
输出:’d’, 出现6次
function find1(str) {var map = {}var maxTimes = 0var targetfor (var i = 0; i maxTimes) {maxTimes = map[str[i]]target = str[i]}}console.log(maxTimes)console.log(target)
}
var str = 'asddfgdfwwqeweqwezczxcsdfgdgd'
find1(str)
【题2】数组中出现次数超过一半的数字
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
function MoreThanHalfNum_Solution(numbers)
{var len = numbers.lengthvar arrLen = len/2, obj = {}for(var i = 0; i arrLen) {return numbers[j]}}return 0
}
【题3】第一个只出现一次的字符
在一个字符串(0<&#61;字符串长度<&#61;10000&#xff0c;全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1&#xff08;需要区分大小写&#xff09;.
function FirstNotRepeatingChar(str)
{if (str.length &#61;&#61;&#61; 0) {return -1}var obj &#61; {}for (var i &#61; 0; i }
【题4】数字在排序数组中出现的次数
统计一个数字在排序数组中出现的次数。
function GetNumberOfK(data, k)
{if (data.length &#61;&#61;&#61; 0) {return 0}var obj &#61; {}for (var i &#61; 0; i }
【题5】俄罗斯方块&#xff08;来自网易2018秋招编程&#xff09;
小易有一个古老的游戏机&#xff0c;上面有着经典的游戏俄罗斯方块。因为它比较古老&#xff0c;所以规则和一般的俄罗斯方块不同。
荧幕上一共有 n 列&#xff0c;每次都会有一个 1 x 1 的方块随机落下&#xff0c;在同一列中&#xff0c;后落下的方块会叠在先前的方块之上&#xff0c;当一整行方块都被占满时&#xff0c;这一行会被消去&#xff0c;并得到1分。
有一天&#xff0c;小易又开了一局游戏&#xff0c;当玩到第 m 个方块落下时他觉得太无聊就关掉了&#xff0c;小易希望你告诉他这局游戏他获得的分数。
输入描述:
第一行两个数 n, m
第二行 m 个数&#xff0c;c1, c2, ... , cm &#xff0c; ci 表示第 i 个方块落在第几列
其中 1 <&#61; n, m <&#61; 1000, 1 <&#61; ci <&#61; n
输出描述:
小易这局游戏获得的分数
输入例子1:
3 9
1 1 2 2 2 3 1 2 3
输出例子1:
2
var line1 &#61; readline().split(&#39; &#39;)
var line2 &#61; readline().split(&#39; &#39;)var cols &#61; parseInt(line1[0])
var blocks &#61; parseInt(line1[1])function getRows(cols, line2) {var obj &#61; {}var newArr &#61; []if (cols &#61;&#61;&#61; 1000 && blocks &#61;&#61;&#61; 1000) { return 0 }for (var j &#61; 0; j {return a-b})return newArr[0]
}
print(getRows(cols, line2))
【题6】给予字符串&#xff1a; &#39;?a&#61;1&b&#61;2&c&#61;3&#39;&#xff0c;输出&#xff1a;obj &#61; { a: 1&#xff0c;b:2&#xff0c;c:3}
const str &#61; &#39;?a&#61;1&b&#61;2&c&#61;3&#39;
var str1 &#61; str.slice(1)
var arr &#61; str1.split(&#39;&&#39;)
var obj &#61; {}
var result1 &#61; []
for(var i &#61; 0; i }
// 二维数组降为一维数组
var result2 &#61; result1.reduce((pre, cur) &#61;> {return pre.concat(cur)
}, [])
for(var i &#61; 0; i }
console.log(obj)
const str &#61; &#39;?a&#61;1&b&#61;2&c&#61;3&#39;
var str1 &#61; str.slice(1)
var arr &#61; str1.split(&#39;&&#39;)
var obj &#61; {}
var result1 &#61; []
var temp
for(var i &#61; 0; i }
console.log(obj)
已知&#xff1a;var str &#61; &#39;a&#61;1,b&#61;2,c&#61;3,d&#61;4&#39;&#xff0c;转化为对象&#xff1a;{ a: &#39;1&#39;, b: &#39;2&#39;, c: &#39;3&#39;, d: &#39;4&#39; }
var str &#61; &#39;a&#61;1,b&#61;2,c&#61;3,d&#61;4&#39;
var obj &#61; {}
var strArray &#61; str.split(&#39;,&#39;)
for (var i &#61; 0; i }
console.log(obj)
var str &#61; &#39;a&#61;1,b&#61;2,c&#61;3,d&#61;4&#39;
var obj &#61; {}
var strArray &#61; str.split(&#39;,&#39;)
for (var i &#61; 0; i }
console.log(obj)
var str &#61; &#39;a&#61;1,b&#61;2,c&#61;3,d&#61;4&#39;
var obj &#61; JSON.parse(&#39;{"&#39;&#43;&#39;a&#61;1,b&#61;2,c&#61;3,d&#61;4&#39;.replace(/&#61;/g, &#39;":&#39;).replace(/,/g, &#39;,"&#39;)&#43;"}")
console.log(obj)