2023.2.8每日一题

news/2025/1/15 19:37:31/

每日一题

  • 题目描述
  • 解题核心
    • 解法一:模拟

题目描述

题目链接:804.唯一摩尔斯密码词

国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如:

  • 'a'对应".-"
  • 'b'对应"-..."
  • 'c'对应"-.-.",以此类推。

为了方便,所有 26 个英文字母的摩尔斯密码表如下:
[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]

给你一个字符串数组 words ,每个单词可以写成每个字母对应摩尔斯密码的组合。

  • 例如,"cab" 可以写成 "-.-..--..." ,(即 "-.-." + ".-" + "-..."字符串的结合)。我们将这样一个连接过程称作 单词翻译 。 对words中所有单词进行单词翻译,返回不同 单词翻译 的数量。

示例 1
输入: words = [“gin”, “zen”, “gig”, “msg”]
输出: 2
解释:
各单词翻译如下:
“gin” -> “–…-.”
“zen” -> “–…-.”
“gig” -> “–…–.”
“msg” -> “–…–.”
共有 2 种不同翻译, “–…-.” 和 “–…–.”.

示例 2
输入:words = [“a”]
输出:1

提示

  • 1 <=words.length<= 100
  • 1 <=words[i].length<= 12
  • words[i]由小写英文字母组成

解题核心

注意不同的字母对应不同的解码,但是组成的结果可能相同,所以需要去重

解法一:模拟

直接将每个单词翻译,然后用集合去重

public int uniqueMorseRepresentations(String[] words) {String[] password = new String[] {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};HashSet<String> set = new HashSet<>();for (String word : words) {StringBuilder temp = new StringBuilder();for (int j = 0; j < word.length(); j++) {int index = (word.charAt(j) - '0') - 49;temp.append(password[index]);}set.add(temp.toString());}return set.size();
}

http://www.ppmy.cn/news/23231.html

相关文章

RK3399+PCIe+FPGA 在高速AD无线通信中的应用

一、需求 要实现高速AD/DA的数据采集&#xff0c;并发送到高性能arm核进行数据处理&#xff1b; 方案RK3399pcieFPGAAD/DA。 二、器件介绍 一、RK3399 RK3399是一款低功耗、高性能处理器&#xff0c;用于计算、个人移动互联网设备和其他智能设备应用。基于Big.Little架构&…

Java面试——多线程并发篇

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

SpringCloud-学习笔记(四)nacos基本使用

什么是nacos Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称&#xff0c;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台&#xff0c;使用java语言进行开发。Nacos是阿里巴巴的产品&#xff0c;现在是SpringCloud中的一个组件…

为什么写计算机SCI论文一定要看文献? - 易智编译EaseEditing

阅读文献的目的有两个主要目的&#xff1a;一是了解世界上本专业领域的内容和发展情况&#xff1b; 二是在了解过程中&#xff0c;产生自己的idea&#xff0c;进入这个领域。 什么是idea?怎么样产生?idea一般是在阅读文章的过程中产生的&#xff0c;给出三种比较简单产生ide…

9. GridView控件的简单介绍

1. 使用说明&#xff1a; 在某种界面设计中&#xff0c;如果需要很多个类似的控件整齐的排列&#xff0c;类似方阵的一种数据展示&#xff0c;可以使用GridView控件来实现。 2. 常用属性介绍&#xff1a; width&#xff1a;宽度 height&#xff1a;高度 clip&#xff1a;超过…

Spring Boot 中文参考指南

Spring Boot 版本 2.7.8 原文&#xff1a;https://docs.spring.io/spring-boot/docs/2.7.8/reference/htmlsingle/ — 笔者注&#xff1a;Spring Boot 3.x 第一个 GA 版本已于22年底发布&#xff0c;2.7.8 是2.x 的最后一个 GA版本&#xff0c;我觉得一段时间内依然会以2.x为主…

ESP8266 + STC15基于AT指令通过TCP通讯协议控制IO状态

ESP8266 + STC15基于AT指令通过TCP通讯协议控制IO状态 📌ESP8266 AT固件基于安信可AT固件,相关刷AT固件可以参考《NodeMCU-刷写AT固件》当然WIFI模块也可以是esp01. STC15 单片机采用的是:STC15F2K60S2 晶振频率采用内部:22.1184MHz🌼功能介绍 通过电脑端的网络调试助手…

【Python百炼成魔】魂圣初入Python之Python最佳入门姿势

专栏介绍&#xff1a; 注&#xff1a; 专栏介绍&#xff0c;只出现在一个新的专栏的第一篇文章中&#xff0c;后续会逐渐完善专栏介绍&#xff0c;变成一篇单独文章&#xff0c;用于介绍专栏更新的内容和后续的写作计划。 【 Python百炼成魔】专栏 &#xff0c;讲述少年莫阳&…