力扣题:字符的统计-12.2

力扣题-12.2

[力扣刷题攻略] Re:从零开始的力扣刷题生活

力扣题1:423. 从英文中重建数字

解题思想:有的单词通过一个字母就可以确定,依次确定即可

在这里插入图片描述

class Solution(object):
    def originalDigits(self, s):
        """
        :type s: str
        :rtype: str
        """
        char_count = {}
        t = 'egfihonsrutwvxz'
        for i in range(len(t)):
            char_count[t[i]] = 0
        for i in range(len(s)):
            if s[i] in char_count:
                char_count[s[i]] += 1
            else:
                char_count[s[i]] = 1
        result = []
        if char_count['z']!=0:
            for i in range(char_count['z']):
                result.append(0)
                temp = 'zero'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        if char_count['x']!=0:
            for i in range(char_count['x']):
                result.append(6)
                temp = 'six'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        if char_count['w']!=0:
            for i in range(char_count['w']):
                result.append(2)
                temp = 'two'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        if char_count['g']!=0:
            for i in range(char_count['g']):
                result.append(8)
                temp = 'eight'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        if char_count['s']!=0:
            for i in range(char_count['s']):
                result.append(7)
                temp = 'seven'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        if char_count['h']!=0:
            for i in range(char_count['h']):
                result.append(3)
                temp = 'three'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        if char_count['v']!=0:
            for i in range(char_count['v']):
                result.append(5)
                temp = 'five'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        if char_count['f']!=0:
            for i in range(char_count['f']):
                result.append(4)
                temp = 'four'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        if char_count['o']!=0:
            for i in range(char_count['o']):
                result.append(1)
                temp = 'one'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        if char_count['i']!=0:
            for i in range(char_count['i']):
                result.append(9)
                temp = 'nine'
                for i in range(len(temp)):
                    char_count[temp[i]] -=1
        return ''.join(map(str, sorted(result)))
class Solution {
public:
    std::string originalDigits(std::string s) {
        std::unordered_map<char, int> charCount;
        std::string t = "egfihonsrutwvxz";

        for (char c : t) {
            charCount[c] = 0;
        }

        for (char c : s) {
            if (charCount.find(c) != charCount.end()) {
                charCount[c] += 1;
            }
        }

        std::vector<int> result;

        if (charCount['z'] != 0) {
            int count = charCount['z'];
            for (int i = 0; i < count; ++i) {
                result.push_back(0);
                std::string temp = "zero";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }

        if (charCount['x'] != 0) {
            int count = charCount['x'];
            for (int i = 0; i < count; ++i) {
                result.push_back(6);
                std::string temp = "six";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }

        if (charCount['w'] != 0) {
            int count = charCount['w'];
            for (int i = 0; i < count; ++i) {
                result.push_back(2);
                std::string temp = "two";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }

        if (charCount['g'] != 0) {
            int count = charCount['g'];
            for (int i = 0; i < count; ++i) {
                result.push_back(8);
                std::string temp = "eight";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }
        if (charCount['s'] != 0) {
            int count = charCount['s'];
            for (int i = 0; i < count; ++i) {
                result.push_back(7);
                std::string temp = "seven";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }

        if (charCount['h'] != 0) {
            int count = charCount['h'];
            for (int i = 0; i < count; ++i) {
                result.push_back(3);
                std::string temp = "three";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }

        if (charCount['v'] != 0) {
            int count = charCount['v'];
            for (int i = 0; i < count; ++i) {
                result.push_back(5);
                std::string temp = "five";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }
        
        if (charCount['f'] != 0) {
            int count = charCount['f'];
            for (int i = 0; i < count; ++i) {
                result.push_back(4);
                std::string temp = "four";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }
        if (charCount['o'] != 0) {
            int count = charCount['o'];
            for (int i = 0; i < count; ++i) {
                result.push_back(1);
                std::string temp = "one";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }

        if (charCount['i'] != 0) {
            int count = charCount['i'];
            for (int i = 0; i < count; ++i) {
                result.push_back(9);
                std::string temp = "nine";
                for (char c : temp) {
                    charCount[c] -= 1;
                }
            }
        }

        std::sort(result.begin(), result.end());

        std::string resultString;
        for (int digit : result) {
            resultString += std::to_string(digit);
        }

        return resultString;
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/208930.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能-优化算法之学习率调度器

学习率调度器 到目前为止&#xff0c;我们主要关注如何更新权重向量的优化算法&#xff0c;而不是它们的更新速率。 然而&#xff0c;调整学习率通常与实际算法同样重要&#xff0c;有如下几方面需要考虑&#xff1a; 首先&#xff0c;学习率的大小很重要。如果它太大&#xf…

Linux系统之centos7编译安装Python 3.8

前言 CentOS (Community Enterprise Operating System) 是一种基于 Red Hat Enterprise Linux (RHEL) 进行源代码再编译并免费提供给用户的 Linux 操作系统。 CentOS 7 采用了最新的技术和软件包&#xff0c;并提供了强大的功能和稳定性。它适用于各种服务器和工作站应用场景&a…

postgresql-shared_buffers参数详解

shared_buffers 是 PostgreSQL 中一个非常关键的参数&#xff0c;用于配置服务器使用的共享内存缓冲区的大小。这些缓冲区用于存储数据页&#xff0c;以便数据库可以更快地访问磁盘上的数据。 这个参数在 PostgreSQL 的性能方面有着重要的影响。增加 shared_buffers 可以提高数…

spring boot mybatis TypeHandler 看源码如何初始化及调用

目录 概述使用TypeHandler使用方式在 select | update | insert 中加入 配置文件中指定 源码分析配置文件指定Mapper 执行query如何转换 结束 概述 阅读此文 可以达到 spring boot mybatis TypeHandler 源码如何初始化及如何调用的。 spring boot 版本为 2.7.17&#xff0c;my…

【论文阅读】CAN网络中基于时序信道的隐蔽认证算法

文章目录 摘要一、引言和动机A 相关工作 二、背景及实验设置A 以前工作中的时钟偏差和局限性B.最坏到达时间C.安装组件 三、优化流量分配A.问题陈述B.优化帧调度 四、协议和结果A.主协议B.对手模型C. 优化流量和单一发送者的结果D.多发送方情况和噪声信道 摘要 以前的研究工作…

TCP三次握手过程

什么是TCP tcp是一个面向连接的、可靠的、基于字节流的传输层通信协议 面向连接&#xff1a;TCP连接是一对一的&#xff0c;不能实现一对多或多对一&#xff0c;TCP在通信前要首先建立连接&#xff0c;连接成功后才能开始进行通信可靠的&#xff1a;TCP连接要保证通信过程的可靠…

WebSocket 前端使用vue3+ts+elementplus 实现连接

1.配置连接 websocket.ts文件如下 import { ElMessage } from "element-plus";interface WebSocketProps {url: string; // websocket地址heartTime?: number; // 心跳时间间隔&#xff0c;默认为 50000 msheartMsg?: string; // 心跳信息&#xff0c;默认为pingr…

利用 NRF24L01 无线收发模块实现传感器数据的无线传输

NRF24L01 是一款常用的无线收发模块&#xff0c;适用于远程控制和数据传输应用。本文将介绍如何利用 NRF24L01 模块实现传感器数据的无线传输&#xff0c;包括硬件的连接和配置&#xff0c;以及相应的代码示例。 一、引言 NRF24L01 是一款基于 2.4GHz 射频通信的低功耗无线收发…

PG14归档失败解决办法archiver failed on wal_lsn

案例1:pg_wal下有wal_lsn文件 案例1适用于以下场景&#xff1a; pg_wal下有该wal_lsn文件而归档目录下无该wal_lsn文件pg_wal和归档目录下同时都有该wal_lsn文件 问题描述 昨晚RepmgrPG14主备主库因wal日志撑爆磁盘&#xff0c;删除主库过期wal文件重做备库后上午进行主备状…

Find My文件袋|苹果Find My技术与文件袋结合,智能防丢,全球定位

文件袋是指用于对自己的私人物品或身份文件保管等、资料袋、白卷宗。款式分为扣式和文件套式。文件袋通常具有足够的容量&#xff0c;可以容纳大量文件。当需要长期存档文件时&#xff0c;文件袋是一个方便的选择&#xff0c;可以将文件整理好放入文件袋中&#xff0c;便于存放…

[github全教程]github版本控制最全教学------- 大厂找工作面试必备!

作者&#xff1a;20岁爱吃必胜客&#xff08;坤制作人&#xff09;&#xff0c;近十年开发经验, 跨域学习者&#xff0c;目前于新西兰奥克兰大学攻读IT硕士学位。荣誉&#xff1a;阿里云博客专家认证、腾讯开发者社区优质创作者&#xff0c;在CTF省赛校赛多次取得好成绩。跨领域…

【笔记】2023最新Python安装教程(Windows 11)

&#x1f388;欢迎加群交流&#xff08;备注&#xff1a;csdn&#xff09;&#x1f388; ✨✨✨https://ling71.cn/hmf.jpg✨✨✨ &#x1f913;前言 作为一名经验丰富的CV工程师&#xff0c;今天我将带大家在全新的Windows 11系统上安装Python。无论你是编程新手还是老手&…

C语言错误处理之 “<errno.h>与<error.h>”

目录 前言 错误号处理方式 errno.h头文件 error.h头文件 参数解释&#xff1a; 关于的”__attribute__“解释&#xff1a; 关于“属性”的解释&#xff1a; 实例一&#xff1a; 实例二&#xff1a; error.h与errno.h的区别 补充内容&#xff1a; 前言 在开始学习…

Redis——某马点评day01——短信登录

项目介绍 导入黑马点评项目 项目架构 基于Session实现登录 基本流程 实现发送短信验证码功能 controller层中 /*** 发送手机验证码*/PostMapping("code")public Result sendCode(RequestParam("phone") String phone, HttpSession session) {// 发送短信…

支持Upsert、Kafka Connector、集成Airbyte,Milvus助力高效数据流处理

Milvus 已支持 Upsert、 Kafka Connector、Airbyte&#xff01; 在上周的文章中《登陆 Azure、发布新版本……Zilliz 昨夜今晨发生了什么&#xff1f;》&#xff0c;我们已经透露过 Milvus&#xff08;Zilliz Cloud&#xff09;为提高数据流处理效率&#xff0c; 先后支持了 Up…

JOSEF约瑟 DY-34 型电压继电器,15-30V 柜内安装,板前接线

DY-30系列电压继电器 DY-32电压继电器&#xff1b; DY-36电压继电器&#xff1b; DY-33电压继电器&#xff1b; DY-37电压继电器&#xff1b; DY-34电压继电器&#xff1b; DY-38电压继电器&#xff1b; DY-31电压继电器&#xff1b; DY-35电压继电器&#xff1b; DY-32/60C电压…

HarmonyOS——解决本地模拟器无法选择设备的问题

在使用deveco studio进行鸿蒙开发的时候&#xff0c;可能会遇到本地模拟器已经启动了&#xff0c;但是仍然无法选择本地模拟器中的设备&#xff0c;尤其在MAC环境中尤为常见。 解决办法&#xff1a; 先打开IDE启动本地模拟器&#xff0c;等模拟器启动后&#xff0c;退出IDE重新…

蓝桥杯每日一题2023.12.1

题目描述 蓝桥杯大赛历届真题 - C 语言 B 组 - 蓝桥云课 (lanqiao.cn) 题目分析 对于此题目而言思路较为重要&#xff0c;实际可以转化为求两个数字对应的操作&#xff0c;输出最前面的数字即可 #include<bits/stdc.h> using namespace std; int main() {for(int i 1…

ARM64版本的chrome浏览器安装

这一快比较玄学&#xff0c;花个半个小时左右才能安装好&#xff0c;也不知道是个什么情况。 sudo snap install chromium只需要以上这个命令&#xff0c;当然&#xff0c;也可以自己去找安装包进行安装&#xff0c;但是测试后发现并没有那么好装&#xff0c;主要是两个部分 一…

第九节HarmonyOS 常用基础组件-Text

一、组件介绍 组件&#xff08;Component&#xff09;是界面搭建与显示的最小单位&#xff0c;HarmonyOS ArkUI声名式为开发者提供了丰富多样的UI组件&#xff0c;我们可以使用这些组件轻松的编写出更加丰富、漂亮的界面。 组件根据功能可以分为以下五大类&#xff1a;基础组件…