首页 > 试题广场 >

字符个数统计

[编程题]字符个数统计
  • 热度指数:532940 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。

数据范围:

输入描述:

输入一行没有空格的字符串。



输出描述:

输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。

示例1

输入

abc

输出

3
示例2

输入

aaa

输出

1

JS版本

void async function () {
    // Write your code here
    while(line = await readline()){
        const mySet = new Set();
        line.split('').forEach(c=>{
            mySet.add(c)
        })
        console.log(mySet.size)
    }
}()
发表于 2024-07-11 17:24:35 回复(2)
const readline = require('readline')

var rl = readline.createInterface({
    input:process.stdin,
    output:process.stdout
})
var str = ''
rl.on('line',(line)=>{
    str = line
})
rl.on('close',()=>{
   var arr = str.split('')
   var s = new Set(arr.reverse())
   var arr2 = [...s]
   console.log(arr2.length)
})

发表于 2021-09-04 00:31:18 回复(0)
const readline = require('readline')
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

let inputArr = []
rl.on('line', function(input){
    inputArr.push(input)
    let res = inputArr[0].split('')
    let result = res.reduce( (pre, cur) => {
        if (!pre.includes(cur)){
            pre.push(cur)
        }
        return pre
    }, [])
    console.log(result.length)
    inputArr = []
})

发表于 2021-08-25 20:52:08 回复(0)
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function (line) {
     let set=new Set()
     for(let i=0;i<line.length;i++){
         let c=line.charAt(i)
         set.add(c)
     }
    console.log(set.size)
});

发表于 2021-08-03 09:37:26 回复(0)
while(line = readline) {
     newArr = new Set(line.split('')).size;
        console.log(newArr);
 } 
这个为啥通过不了
发表于 2021-04-11 23:30:42 回复(1)
var line=readline();
var arr=[...new Set(line)];
console.log(arr.length);
发表于 2021-04-02 23:13:13 回复(0)
let str = readline()
function getLen(str){
    let arrStr = str.split('')
    let attrs = []
    for(let i=0;i<arrStr.length;i++){
        if(attrs.indexOf(arrStr[i])==-1){
            attrs.push(arrStr[i])
        }
    }
    console.log(attrs.length)
}
getLen(str)
发表于 2021-04-02 15:25:56 回复(1)
解法一:数组去重,取length
var str = readline();

// 数组去重
function unique (arr) {
  return Array.from(new Set(arr))
}

var arr = str.split('');

arr = unique(arr);
console.log(arr.length)

发表于 2021-02-28 17:41:54 回复(0)
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function (line) {
    let sss = [...new Set(line.split(''))]
    console.log(sss.length)
});
发表于 2021-01-31 23:22:16 回复(0)
while(line=readline()){
    var arr=line.split('')
    var arr2=[]
    var num=0;
    arr.forEach(item=>{
        if(!arr2.includes(item)){
            arr2.push(item)
            num++
        }
    })
    console.log(num)
    
}

发表于 2021-01-19 11:23:34 回复(0)
var str = readline()
var arr = str.split('');
var obj= {};
var count = 0;
for(var i =0 ;i<arr.length;i++){
    if(!obj[arr[i]]){
        obj[arr[i]] = true
        ++count
    }
}
console.log(count)

发表于 2021-01-09 20:33:02 回复(0)
var line = readline();
var str = line.split('')
var newStr = [...new Set(str)]
console.log(newStr.length)

编辑于 2020-12-09 17:16:36 回复(0)
while(line = readline()){
    var ar = line.split("");
    var arr = [...new Set(ar)];
    if(arr.length<127){
         console.log(arr.length);
    }
}

发表于 2020-11-12 18:55:11 回复(0)
var s = readline()
let arr = s.split('').filter(s => {
    return s.charCodeAt()>-1&& s.charCodeAt()<128
})
console.log(Array.from(new Set(arr)).length)

编辑于 2020-09-19 23:45:30 回复(0)
const str = readline();
console.log(new Set(str.split('')).size);

发表于 2020-09-04 19:40:30 回复(0)
var line=readline();
var arr=line.split('');
var arr1=[];
for(let i=0;i<arr.length;i++){
    if(arr1.indexOf(arr[i])==-1){
        arr1.push(arr[i]);
    }
    //return arr1;
}
console.log(arr1.length)


发表于 2020-08-26 15:06:08 回复(0)
while (line = readline()) {
    let countArr = [];
    let outputArr = [];
    for (let i = 0; i < line.length; i++) {
        let temp = line.charCodeAt(i);
        if (temp >= 0 && temp <= 127) {
            countArr.push(line[i]);
        };
    };
    outputArr = [...new Set(countArr)];
    console.log(outputArr.length);
}

发表于 2020-06-19 18:06:23 回复(0)
let str = readline();
let count = Array.from(new Set(str.split('').map(s => s.charCodeAt()))).filter(f => {
    return f > 0 && f < 127
}).length;
console.log(count);

发表于 2020-05-12 21:27:07 回复(0)
const rl = require('readline').createInterface(process.stdin, process.stdout);
let data = [];
rl.on('line', str => {
    for(let i=0;i<str.length;i++){
        if (!data.includes(str[i])) {
            data.push(str[i]);
        }
    }
    console.log(data.length)
})
发表于 2020-03-25 20:53:03 回复(0)
let input = readline()
let arr = input.split('')
let set = new Set(arr)
console.log(set.size)
发表于 2020-03-25 15:12:11 回复(0)