js判断一个字符串中出现次数最多的字符及次数
最近面试总是刷到这个题,然后第一次的话思路很乱,这个是我个人思路 for循环里两个 if 判断还可以优化
var maxLength = 0;
var maxStr = '';
var count = 1;
var stringList = 'adsafsfgadsdaasssssaasssdfssss'; // 首先对字符串进行排列,方便比较
stringList = stringList.split('').sort(); // 比较字符串相邻位置是否相同
for (let i = 0; i < stringList.length; i++) {
// 如果相同,说明字符串相同,让count +1
if (stringList[i] == stringList[i + 1]) {
++ count;
// maxLength是最大的出现个数,如果相邻个数大于maxLength则说明字符串个数比定义的最大个数大,则最大个数设置为它,最大值为单前的值
if (count > maxLength) {
console.log(count); maxLength = count;
maxStr = stringList[i];
}
} else {
count = 1
}
}
console.log(‘出现次数最多’+maxStr,'出现次数最多个数' + maxLength);
这是我个人的想法,然后第二种方法就是利用对象的key值不能重复这一特性实现
function maxstringload(str) {
var obj={};
for(var i=0;i<str.length;i++){
var key=str[i];//key中存储的是每一个字符串
if(obj[key]){//判断这个键值对中有没有这个键
obj[key]++;
}else{
obj[key]=1;
}
} var maxCount=0;//假设是出现次数最多的次数
var maxString="";//假设这个字符串是次数出现最多的字符串
for(var key in obj){
if(maxCount<obj[key]){
maxCount=obj[key];//保存最大的次数
maxString=key;
}
}
return "出现次数最多的字母:"+maxString+"出现了"+maxCount+"次";
}
console.log(maxstringload(stringList))
两个方法都可实现判断一个字符串中出现次数最多的字符及次数
js判断一个字符串中出现次数最多的字符及次数的更多相关文章
- javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数
javascript 写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数 function test(){ var bt = document.getElementById(" ...
- c c++怎么判断一个字符串中是否含有汉字
c c++怎么判断一个字符串中是否含有汉字 (2013-02-05 10:44:23) 转载▼ #include #include int main() { char sztext[] = ...
- JS判断一个字符串是否包含一个子串函数.
微信小程序 JS判断一个字符串是否包含一个子串函数. //str 字符串,name子串 contains:function(str,name){ if(str.indexOf( ...
- Java 正则判断一个字符串中是否包含中文
使用正则判断一个字符串中是否包含中文或者中文字符 代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; /** ...
- Python判断一个字符串中是否存在多个子串中的一个
在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题, 但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c| ...
- js 统计一个字符串中出现的字符最多的字符
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js 计算字符串中出现次数最多的字符及其次数
方法一: var str="sdfseresssssdssdfsa"; var arr=[]; var max=0; var maxk; for(var i=0;i<str. ...
- Js判断一个字符串是否包含一个子串
Js中经常遇到判断一个字符串是否包含一个子串,java语言中有containes的方法,直接调用就可以了.除非引用第三方数据库,Js中没有contains方法. 为了实现更java语言中contain ...
- java 判断一个字符串中的数字:是否为数字、是否包含数字、截取数字
题外话: JavaScript中判断一个字符是否为数字,用函数:isDigit(); 一.判断一个字符串是否都为数字 package com.cmc.util; import java.util.re ...
随机推荐
- Flutter 入门
- Linux快速搭建C/C++开发环境
导读:越来越多的程序员在Linux下进行C/C++的开发.本文以CentOS 7为例,教你快速搭建一个vi + gcc/g++ + Make + valgrind的开发环境. 本文字数:1500,阅读 ...
- C#LeetCode刷题之#21-合并两个有序链表(Merge Two Sorted Lists)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3818 访问. 将两个有序链表合并为一个新的有序链表并返回.新链表 ...
- HTML基础-05
字体 文本颜色:color:red;字体分类: 衬线字体serif --字体宽度各异,有衬线 --Times.Georgia.宋体 无衬线字体sans-serif --字体宽度各异,无衬线 --Hel ...
- jQuery的小测试
1.在div元素中,包含了一个<span>元素,通过has选择器获取<div>元素中的<span>元素的语法是? $('div:has(span)'); 2.在&l ...
- java jsp实现网络考试系统(mysql)
java网络考试系统 功能:可进行学生.管理员登录,学生考试.管理员出卷.列表分页 @ 目录 java网络考试系统 实现效果 主要代码实现 写在最后 实现效果 主要代码实现 package cn.it ...
- 设计模式详解及Python实现
设计模式及Python实现 设计模式是什么? Christopher Alexander:"每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心*.这样你就能一次又一 ...
- Core + Vue 后台管理基础框架9——统一日志
1.背景 前阵子有园友留言,提到日志相关的东西,同时,最近圈子里也有提到日志这个东西.一个充分.集中的统一日志平台还是很有必要的,否则系统出问题了只能靠猜或者干瞪眼.何谓充分,日志记录满足最低要求.出 ...
- Spring注解驱动开发01(组件扫描使用详解)
使用Spring注解代替XML的方式 以前都是通过xml配bean的方式来完成bean对象放入ioc容器,即使通过@Aotuwire自动装配bean,还是要创建一个xml文件,进行包扫描,显得过于繁琐 ...
- python基础 Day13
python Day13 匿名函数(一句话函数,比较简单的函数) func=lambda a,b:a+b print(func(1,2)) ###结果:3 func=lambda a:(a[0],a[ ...