Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数查找字符串中的重复字符及其在Dart语言中的出现次数_Dart - Fatal编程技术网

函数查找字符串中的重复字符及其在Dart语言中的出现次数

函数查找字符串中的重复字符及其在Dart语言中的出现次数,dart,Dart,如何在字符串中找到重复字符及其出现次数?该函数应为Dart语言中的通用函数 样本: 输入=“abcbcaad” Output=“a”:3 “B”:2,“c”:3void main(){ void main(List<String> args) { var input = 'abcBCAacd'.toLowerCase().split(''); var list1 = input.toSet(); var myMap = Map<String, int>.fro

如何在字符串中找到重复字符及其出现次数?该函数应为Dart语言中的通用函数

样本:

输入=“abcbcaad”

Output=“a”:3
“B”:2,“c”:3

void main(){
void main(List<String> args) {
  var input = 'abcBCAacd'.toLowerCase().split('');
  var list1 = input.toSet();
  var myMap = Map<String, int>.fromIterables(list1, List.generate(list1.length, (i) => 0));
  input.forEach((e) => myMap[e] = myMap[e]! + 1);
  print(myMap);
}
int nboccurrence=0; 字符串输入=“abcdefff”; 对于(var i=0;i
我不得不假设你想要计算
d
,并且所有的东西都应该折叠成小写。如果
B
B
在不同的存储桶中,只需从下面删除
toLowerCase()

void main() {
  var input = 'abcBCAacd';
  var chars = input.toLowerCase().split('');
  var counts = <String, int>{};
  for (var char in chars) {
    counts[char] = (counts[char] ?? 0) + 1;
  }
  print(counts);
}
void main(){
变量输入='abcBCAacd';
var chars=input.toLowerCase().split(“”);
变量计数={};
for(字符中的var char){
计数[字符]=(计数[字符]?0)+1;
}
打印(计数);
}

这具有O(n^2)效率。查看其他解决方案。这似乎比必要的复杂得多。看看我的,看来没什么了。第四行(Map的初始化)可以被抑制,第五行可以有一个微小的变化,这就是所有的人……我建议在Map上使用
update
方法,它提供了一个
ifAbsent
参数:
counts.update(char,(count)=>count+1,ifAbsent:()=>1)。啊,我在找那个。但我的比较短。:)您似乎没有从上一个问题(因为您没有提供任何代码而关闭)中学到任何东西。请提供您自己的代码并解释您的问题所在。Stackoverflow不是一个代码编写服务,你可以让其他人来解决你的任务。我建议你看看下面的资源,自己试试。如果您有错误并且仍然需要帮助,则必须首先通过添加已使用的代码来更新问题。链接:如果不定义“字符”,这个问题就没有很好的定义。如果只考虑字符串中的任何代码单元作为字符,那就相当简单了。如果不是,那就太复杂了。
“áá”
是否包含重复的字符(它是一个单独的
á
代码单元,后跟一个
a
和一个组合重音)。如果问题仅限于ASCII,那么它应该很简单,但在实践中也不是特别有用。
void main() {
  
  int nbOccurence = 0;
  String input ="abcdeffff";
   for( var i = 0 ; i < input.length; i++ ) { 
     nbOccurence = 0;
      for( var j = 0 ; j < input.length; j++ ) {
        if (input[i] == input[j]){
          nbOccurence++;
        }
      }
     print(input[i] + ":" + nbOccurence.toString());
   }
  
}
void main() {
  var input = 'abcBCAacd';
  var chars = input.toLowerCase().split('');
  var counts = <String, int>{};
  for (var char in chars) {
    counts[char] = (counts[char] ?? 0) + 1;
  }
  print(counts);
}