js 字符串去重并找出重复最多的字符以及下标

function clearAtrEq(str){
var hash=[];
for(var i=0;i<str.length;i++){
if(hash[str[i]]==undefined){
hash[str[i]]=1;
}else{
hash[str[i]]++;
}
}
var str1=[];
for(var j in hash){
str1.push(j)
}
var max=-1;
var max_k;
for(var k in hash){
if(max<hash[k]){
max=hash[k];
max_k=k;
}
}

console.log("去重后的字符串是:"+str1);
console.log("最多的字符是:"+max_k);
console.log("最多出现的次数是:"+max)

}
var str='abcdefffffffgaads';
clearAtrEq(str);

转载于:https://www.cnblogs.com/l742314100/p/5933606.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在存储多个字符串的同时现次数最多的字符串,你可以使用一个数组来存储字符串,并使用另一个数组来记录每个字符串现次数。以下是一个示例代码: ```c #include <stdio.h> #include <string.h> #define MAX_STRINGS 10 #define MAX_LENGTH 100 int main() { char strings[MAX_STRINGS][MAX_LENGTH]; int count; int frequency[MAX_STRINGS] = {0}; int maxFrequencyIndex = 0; printf("请输入字符串的个数(最多%d个):", MAX_STRINGS); scanf("%d", &count); // 输入字符串 printf("请输入%d个字符串:\n", count); for (int i = 0; i < count; i++) { scanf("%s", strings[i]); } // 计算每个字符串现次数 for (int i = 0; i < count; i++) { for (int j = 0; j < count; j++) { if (strcmp(strings[i], strings[j]) == 0) { frequency[i]++; } } // 更新现次数最多的字符串索引 if (frequency[i] > frequency[maxFrequencyIndex]) { maxFrequencyIndex = i; } } // 输结果 printf("现次数最多的字符串是:%s,现次数为%d\n", strings[maxFrequencyIndex], frequency[maxFrequencyIndex]); return 0; } ``` 在这个示例中,我们使用 `strings` 数组来存储多个字符串,`frequency` 数组来记录每个字符串现次数。我们还使用 `maxFrequencyIndex` 变量来记录现次数最多的字符串的索引。 首先,程序要求用户输入字符串的个数,并根据输入的个数动态地存储相应数量的字符串。然后,程序遍历每个字符串,使用嵌套循环计算每个字符串现次数,并更新 `maxFrequencyIndex` 变量以记录现次数最多的字符串的索引。 最后,程序输现次数最多的字符串及其现次数。 请注意,这个示例假设字符串的长度不会超过 `MAX_LENGTH`,且字符串中不包含空格。如果需要处理更长的字符串或包含空格的字符串,你可能需要适当增加 `MAX_LENGTH` 的值,并使用其他方法来处理输入和比较字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值