美文网首页
字符串价值

字符串价值

作者: 小小的白菜 | 来源:发表于2018-10-02 12:58 被阅读0次

有一种有趣的字符串价值计算方式:统计字符串中每种字符出现的次数,然后求所有字符次数的平方和作为字符串的价值。

例如: 字符串"abacaba",里面包括4个'a',2个'b',1个'c',于是这个字符串的价值为4 * 4 + 2 * 2 + 1 * 1 = 21。

牛牛有一个字符串s,并且允许你从s中移除最多k个字符,你的目标是让得到的字符串的价值最小。

输入描述

输入包括两行,第一行一个字符串s,字符串s的长度length(1 ≤ length ≤ 50),其中只包含小写字母('a'-'z')。第二行包含一个整数k(0 ≤ k ≤ length),即允许移除的字符个数。

输出描述

输出一个整数,表示得到的最小价值。

输入

aba
1

输出

2


思路
  • 依次遍历字符串(aabbba)中的每一个数值,obj{ a: 3, b: 3 })对象的键字符,值是字符出现的次数。
  • 创建一个数组arr, 保存的是字符串中所有的字符出现的次数[3, 3]
  • 对数字进行升序排序,对 k(2) 进行k-- 操作,每一个将数组中最大的值(arr[arr.length - 1])减值操作,数组重新排序,每一次都对数组中最大的数减值,直至 k = 0 即可。
function output(str, k) {
    let obj = {}, arr = [], result = 0
    for (let i = 0; i < str.length; i++) {
      if (obj[str[i]]) {
        obj[str[i]]++
      } else {
        obj[str[i]] = 1
      }
    }
    for (key in obj) {
      arr.push(obj[key])
    }
    arr.sort(function (a, b) {
      return a - b
    })

    for (let i = 0; i < k; i++) {
      arr[arr.length - 1]--
      arr.sort(function (a, b) {
        return a - b
      })
    }
    arr.forEach(function (val) {
      result += val * val
    })
    return result
  }

  console.log(output('aaabbb', 2))

相关文章

  • 字符串价值

    有一种有趣的字符串价值计算方式:统计字符串中每种字符出现的次数,然后求所有字符次数的平方和作为字符串的价值。 例如...

  • python进阶:字符串和文本处理

    字符串是一种重要的数据形式,有价值的程序都会涉及到对于字符串的处理。幸运的是,强大的python内置了很多函数,来...

  • iOS_KVC

    KVC: key value coding : 间接通过字符串类型的key取出对应的属性值 KVC的价值: 1....

  • java字符串遍历以及统计字符串中各类字符

    这篇文章主要为大家详细介绍了java字符串遍历以及字符串中各类字符统计,具有一定的参考价值,感兴趣的小伙伴们可以参...

  • TypeScript基础(一) 类型基础

    介绍 为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。 TypeScript支...

  • TypeScript的基础类型

    介绍 为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。 TypeScript支...

  • TypeScript基础类型

    介绍 为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。 TypeScript支...

  • 基础类型

    介绍 为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。 TypeScript支...

  • Javascript知识点整合

    字符串 单行字符串: ‘字符串’或“字符串” 多行字符串: `多行字符串` 字符串操作: 字符串连接‘+’号 长度...

  • TypeScript 之基础类型

    介绍 为了让程序更有价值,我们需要能够处理最简单的数据单元:数字、字符串、结构体、布尔值等。TypeScript支...

网友评论

      本文标题:字符串价值

      本文链接:https://www.haomeiwen.com/subject/umnooftx.html