[贪心入门]完美字符串

2023-11-06

约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。


约翰不在乎字母大小写。(也就是说字母F和f)的完美度相同。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。

分析: 由排序不等式,出现次数最多的字母显然应该给26。所以这个题目变成了统计每种字母出现的次数了,然后按照出现次数从大到小,依次分配从高到低的权值。这就是最朴素的贪心思想。
最后,我们来提供输入输出数据,由你来写一段程序,实现这个算法,只有写出了正确的程序,才能继续后面的课程。
 
输入

输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。
输出
 
由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。
 
输入示例

dad

输出示例

77
s=input()
a=[]
b=[]
for i in s:
    if i in a:
        k=a.index(i)
        b[k]+=1
    else:
        a.append(i)
        b.append(1)
b.sort(reverse = True)        
ans=0
j=26        
for i in b:
    ans=ans+i*j
    j-=1
print(ans)    

 

转载于:https://www.cnblogs.com/nbalive2001/p/4904148.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[贪心入门]完美字符串 的相关文章

  • 共识算法比较:Tendermint的BFT与EOS的dPoS

    这项技术深入研究由Chjango Unchained编写 本文比较了不同的共识系统 它们为EOS和Tendermint提供了关于每种基础技术以及它们有什么样的独特地类似证明 PoS 能力 在由单个组织运行的传统分布式系统中 信任和安全由防火
  • Windows下安装使用SVN

    Windows下安装使用SVN https www cnblogs com sns007 p 5769393 html
  • Git 学习(二)—— 工作区 — 本地仓库的操作命令

    我们要上传文件到本地仓库 不是直接拷贝进去的 而是需要通过命令一步步上传 从工作区到本地仓库分为了三步 也可以说是三个区域 目录 1 操作命令 1 git init 获取本地仓库 2 git add 工作区 暂存区 3 git commit
  • 关于distcc安装和使用

    distcc a fast free distributed C C compiler NEWS distcc 3 1 released Distcc release 3 1 is now available at Downloads Se
  • java 是怎么在中删除下拉列表_删除在一个下拉列表字段中选择的选项,并且不显示在该行中存在的其他下拉列表中不工作-jquery...

    我有一个包含多列的html表 在两列中我显示下拉列表 当用户从一个下拉列表中选择值时 选择Product1或Select Product2下拉列表 我想删除在一个下拉列表中选择的选项 并且不要在另一个下拉列表中显示该选项 下面的示例代码适用
  • Springboot 集成Druid

    Springboot 集成Druid Druid是Java语言中最好的数据库连接池 Druid能够提供强大的监控和扩展功能 本篇主要讲解一下 Springboot中如何集成 Druid 1 添加Druid依赖
  • QML 信号 槽 传递参数

    详细的C QML 的信号与槽 初学者教程 请参考该文 QML 中信号和槽之间传递参数并不需要在连接的时候特别声明 只需要将其关联在一起即可 main qml import QtQuick 2 13 import QtQuick Contro
  • flask web 01--基础入门案例

    flask web 01 基础入门案例 1 介绍 2 功能说明 3 源码分析 3 1 功能 3 2 源码 3 3 测试结果 4 注意事项 5 说明 1 介绍 最近由于需要 开始补了一些python web相关的技能 考虑到高效和简洁 就补了
  • Spring Boot 依赖注入

    Spring Boot 依赖注入 SpringBoot的实现方式基本都是通过注解实现的 跟Spring注解注入差不多 相关的常见注解有Autowired Resource Qualifier Service Controller Repos
  • 个人简历小程序

    为了熟练掌握微信小程序开发的一些基本技巧 熟悉微信小程序开发流程 特此 运用所学知识 做了一个个人简历小程序 效果图如下 代码如下 index js const app getApp Page data userInfo hasUserIn
  • Unity制作自定义消息提示框

    工作中使用软件经常会出现各种提示框 确定XXXXXX吗 选项一般是三个 是 否 取消 今天心血来潮 于是也尝试自己用unity制作一个简单的消息提示框 准备工作 首先需要搭建一个最简单的消息框界面 然后开始编写编写一个单例模式类 专门用来管
  • MySQL高级篇——事务

    一 简介 1 什么是事务 事务是由一个或多个sql语句组成一个最小的不可再分的工作单元 里面的内容要么都执行成功 要么都不成功 2 事务的ACID特性 原子性 atomicity 事务是一个不可分割的工作单元 要么全部提交 要么全部失败回滚
  • PhotoShop 之图层蒙版

    分黑色蒙版和白色蒙版 使用效果不同 黑色蒙版是表现 隐藏 当前图层的内容 是透明的 可以看到背景图层的内容 透明 白色蒙版是表示 显示 当前图层的内容 使用黑色画笔涂抹可以显示出背景图层的样子 不透明 总之记住一句话 黑色透明 白色不透明
  • 大学最应该学习的 5 门课, 毕业后大厂 Offer 直接拿到手软!

    时间如白驹过隙 我竟然已经是一名拥有 13 年编程经验的老油条了 有些自豪 因为自己从大一就开始学习的 Java 语言依然坚挺 几乎是编程语言中的霸主了 但也有些遗憾 大学的时候没有把这些计算机基础课程学好 有些甚至没有学 导致工作后有很长
  • C语言实现RGB packet格式转YUV(NV21)格式

    前言 此函数用于RGB packet R G B R G B 格式转YUV的NV21格式 保存NV21图像的内存由外部申请并传入 函数的具体实现原理在这里不做介绍 对RGB格式和YUV格式不熟悉的请自行查阅资料 该函数可直接拷贝过去使用 代
  • 智能排水解决方案,设备实时监控+预测分析,真正实现“无人值守”!

    什么是矿山排水 随着煤炭开采深度不断增加 地质条件也愈加复杂 井下综采作业会面临越来越高的渗水风险 为确保井下综采作业安全 需要设置大量排水系统 在矿山建设和生产过程中排除进入矿山的地下水和地表水 矿井排水系统是保障煤矿安全生产的关键环节
  • 求助关于speedtest中ookla跨域问题

    报错导致speedtest一直未上线 系统为windows 2012 求助给出合适的解决办法
  • Unity2D敌人/怪物AI控制 第一期

    AI 原地巡逻自动攻击型 AI会在横版地图上向左向右移动 移动一段距离后会原地停止移动 等待一段时间后 会随机向左或向右移动 以此循环 其中AI移动速度 移动时间 停留时间均可以自行调控 当人物进入怪物攻击范围后 会自动面向人物进行攻击 攻
  • 网络编程(20)—— 广播的编程实现

    一 广播和多播的区别 广播是向同一网络中所有主机传播数据的一种方式 它和多播的主要区别在于 1 从范围上来说 多播即使在跨越不同网络的情况下 只要加入多播组就能接受数据 而广播只能向同一网络中的主机传输数据 这种网络可以是发送者所在的网络
  • 一次完整的渗透测试流程,网站渗透存在哪些漏洞和隐藏的风险?

    渗透测试 渗透测试就是利用我们所掌握的渗透知识 对网站进行一步一步的渗透 发现其中存在的漏洞和隐藏的风险 然后撰写一篇测试报告 提供给我们的客户 客户根据我们撰写的测试报告 对网站进行漏洞修补 以防止黑客的入侵 渗透测试的前提是我们得经过用

随机推荐

  • LNK2005: _DllMain@12 already defined in LIBCMTD.lib(dllmain.obj)

    今天使用VS2003创建一个MFC 的dll工程时 出现以下错误 VPR error LNK2005 DllMain 12 already defined in LIBCMTD lib dllmain obj VPR error LNK20
  • 安全形势不容乐观 信息安全调查揭露五大误区

    日前 信息周刊 研究部和国际商业机器公司 IBM 合作进行了2008年 中国信息安全调查 这也是 信息周刊 以 11 年全球信息安全调查为基础 在中国开展的第四次安全调查 调查结果全面揭示了当前不容乐观的安全形势 对首席信息官 CIO 而言
  • Arthas 常用命令

    官方文档 Arthas Install Arthas 3 5 5 文档 安装 Arthas 是阿里开源的一款 linux mac 上性能问题排查工具 文档链接 Arthas 用户文档 Arthas 3 5 5 文档 这个里边具体步骤和指令讲
  • 数据链路层:ARP协议详解(绝对经典)

    ARP协议定义 地址解析协议 工作在数据链路层 在本层和硬件接口联系 同时向上层提供服务 IP数据包常通过以太网发送 以太网设备不识别32位IP地址 他们是以48位以太网地址传输以太网数据包的 因此需要IP转化为以太网目的地址 ARP协议用
  • Thread Pool 线程池

    Thread Pool 本文基于经典的99行代码 稍加修改使其支持C 20 并增加了wait与join功能 pragma once include
  • vue中使用drag事件左右拖动div,改变宽高大小

    实现思路 1 使用上左 top left 上 top 上右 top right 等6个小点实现拖动效果 2 拖动时记录起始点 结束点 startPoint x 0 y 0 开始坐标 拖动改变定位 endPoint x 0 y 0 结束坐标
  • 面试题 08.10. 颜色填充

    面试题 08 10 颜色填充 https leetcode cn com problems color fill lcci 难度简单12收藏分享切换为英文关注反馈 编写函数 实现许多图片编辑软件都支持的 颜色填充 功能 待填充的图像用二维数
  • Java多线程之间的通信

    重点 等待 gt 执行业务 gt 通知其他线程 package com liu pc 线程之间通讯问题 等待唤醒 通知唤醒 线程交替执行 A B操作同一个变量 A 1 B 1 public class A public static voi
  • virtual channels 虚拟通道——mipi协议

    1 虚拟通道ID字段 最多可以支持4个外设 2 需要 DSI Hub 无法将多个显示器连接到同一总线 3 或者某个显示设备支持使用虚拟通道 设备本身由多个物理驱动器控制显示面板的不同区域 这个显示器就可以使用虚拟通道将数据发送到各个驱动器
  • 【数据库原理及应用教程(第4版

    文章目录 一 选择题 二 填空题 三 设计题 四 简答题 Reference 一 选择题 1 2 3 4 5 6 7 8 9 10 B C C A C B C B D C 11 12 13 14 15 16 17 18 19 20 D B
  • bzoj1110 [POI2007]砝码Odw 贪心+进制拆分

    题意就不说了 一开始居然在想直接dp 看到是整数倍我的内心居然毫无波动 真是傻的不行了 因为是整数倍 那我们可以把一个容器用砝码的重量做为进制拆分 然后从小到大一个个填就可以了 贪心策略肯定是最优的 具体如何拆分看hzwer www htt
  • LSP和Hooks拦截

    分层服务提供者 英语 Layered Service Provider 缩写LSP 是一项已被弃用的Microsoft Windows中Winsock 2服务提供者接口 SPI 的特性 它也被称为分层服务提供商或分层服务提供程序 分层服务提
  • Mybatis-plus中操作JSON字段

    1 实体类上要加上自动映射 TableName value school autoResultMap true 2 json字段上加上json处理器 TableField value cover url typeHandler Jackso
  • 使用nmcli命令配置虚拟机网络

    简述 什么是nmcli Description nmcli is a command line tool for controlling NetworkManager and reporting network status It can
  • Mybatis 获取当前序列和下一个序列值 以及在一个方法中写多条SQL 语句

    目录 1 Mybatis 获取当前序列和下一个序列值 2 Mybatis 在一个方法中写多条SQL 语句 1 Mybatis 获取当前序列和下一个序列值 获取当前序列值 select XXX sequence currval from du
  • 电子信息工程毕设题目选题大全

    文章目录 1前言 2 如何选题 3 选题方向 3 1 嵌入式开发方向 3 2 物联网方向 3 3 移动通信方向 3 4 人工智能方向 3 5 算法研究方向 3 6 移动应用开发方向 3 7 网络通信方向 3 8 学长作品展示 4 最后 1前
  • Jetpack-Compose之一基础使用

    一 命令式UI和申明式UI 如果之前有了解或者使用果Flutter 应该会对命令式UI这种架构不陌生 目前申明式UI确实是很火包含Flutter SwiftUI JetpackCompose都使用了该种方式 2021年7月底 Google
  • mysql数据库容量规划_MySQL数据库服务器整体规划(方法论)

    我们在搭建MySQL数据库服务器的开始阶段就合理的规划 可以避免以后的很多问题的产生 大大节省我们的时间和精力 在一定幅度上降低成本 当然 这会涉及很多方面 比如机器的选型 业务评估和系统规划等 所有的设计都是跟具体的需求相关的 我们首先要
  • 什么是 DNS ANAME 解析?

    本人使用谷歌搜索了简中互联网 完全没有找到任何有关 ANAME 的文章 本文该不会是头一份吧 相信大家对于 DNS 的解析方式都不陌生 常见的有 A CNAME MX TXT 记录等等 其中 网站常用的是 A 记录和 CNAME 记录 A
  • [贪心入门]完美字符串

    约翰认为字符串的完美度等于它里面所有字母的完美度之和 每个字母的完美度可以由你来分配 不同字母的完美度不同 分别对应一个1 26之间的整数 约翰不在乎字母大小写 也就是说字母F和f 的完美度相同 给定一个字符串 输出它的最大可能的完美度 例