热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript实现算法(利用对象求解问题归类)

统计字符串中连续字母数量最多的\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)

 


推荐阅读
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
author-avatar
冰点youth
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有