当前位置: 首页 > 编程日记 > 正文

力扣1002.查找常用字符

力扣 1002. 查找常用字符

本人力扣练习已上传至码云,可互相学习借鉴。
难度-简单

题目: 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。
你可以按任意顺序返回答案。

示例 1:
输入:[“bella”,“label”,“roller”]
输出:[“e”,“l”,“l”]

示例 2:
输入:[“cool”,“lock”,“cook”]
输出:[“c”,“o”]

提示:
1 <= A.length <= 100
1 <= A[i].length <= 100
A[i][j] 是小写字母

package easy;import java.util.ArrayList;
import java.util.List;public class _1002_查找常用字符 {/*** 思路: 本题含义即 取所有元素的交集,返回*          所以,我们的解题一定要经历过A.length的比较将共同的字符串取出*          1、由于题目中规定 A[i][j] 是小写字母 , 那么我们可以建立一个内长度为26的二维数组,用以迭代每次的比较结果。*          2、到数组最后一个元素,我们就会将所有元素的交集存放在[A.length-1][i]中。*          3、遍历第A.length-1,并按值的大小去取对应数量的值即可* @param A* @return*/public List<String> commonChars(String[] A) {int map[][] = new int[A.length][26];for (int i = 0; i < A.length; i++){if (i == 0){for (char c : A[0].toCharArray()){map[0][c - 'a'] = map[0][c - 'a'] + 1;}}else{for (char c : A[i].toCharArray()){map[i][c - 'a'] = Math.min(map[i][c - 'a'] + 1, map[i-1][c - 'a']);}}}List<String> res = new ArrayList<>();for (int i = 0; i < 26; i++) {if (map[A.length - 1][i]>0){while(map[A.length - 1][i]-- > 0){res.add(String.valueOf((char)(i + 'a')));}}}return res;}
}

相关文章:

springboot项目使用junit4进行单元测试,maven项目使用junit4进行单元测试

首先&#xff0c;maven项目中引入依赖 <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope> </dependency><dependency><groupId>org.…

springboot设置文件上传大小(tomcat默认1M)

application.yml # 设置文件上传大小&#xff08;tomcat默认1M&#xff09; server:tomcat:max-http-form-post-size: -1 spring:servlet:multipart:max-file-size: 100MBmax-request-size: 500MB

kotlin重写构造方法编译报错:Primary constructor call expected

在kotlin中使用construct关键字定义构造方法&#xff0c;如果类定义时已经有构造方法&#xff08;类名后带括号&#xff09;&#xff0c;需要添加构造方法时&#xff0c;需要使用以下写法&#xff1a; class User(var name,var age){//使用 :this() 调用主构造方法对参数赋默认…

Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多

Linux下创建软链接&#xff5c;硬链接&#xff0c;文件访问为空&#xff0c;提示&#xff1a;x x x: 符号连接的层数过多。 原因&#xff1a;创建符号链接的时候未使用绝对路径&#xff0c;无论是源文件路径还是目标路径&#xff0c;都需要使用绝对路径。 如&#xff1a; ln …

kotlin Bean加载失败lateinit property has not been initialized

Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘xxxApplicationConfig’: Unsatisfied dependency expressed through field ‘appConfigService’; nested exception is org.springframework.be…

Gradle错误提示:Java home supplied via ‘xxx.xxx.xxx‘ is invalid

Gradle错误提示&#xff1a;Java home supplied via ‘org.gradle.java.home’ is invalid 描述&#xff1a;在使用idea采用gradle进行依赖的管理功能&#xff0c;当想切换java版本时&#xff08;卸载现在的java版本&#xff0c;如jdk15&#xff0c;安装另外的java版本&#xf…

恭喜你发现了宝藏,编程习惯-日积月累

总结&#xff1a; 条件查询可在数据库层创建queryDto进行统一操作。 代码复用&#xff1a;若有代码重复出现了三次&#xff0c;很大概率可以重构。&#xff08;三则重构&#xff09; dto和entity中的赋值操作&#xff0c;可以写成方法放在dto中。&#xff08;充血模型&#x…

Gradle 将项目publish到Nexus,Kotlin将项目发布到nexus,springboot项目发布到maven仓库

示例见&#xff1a;Gitte 公仓设置 在项目中添加maven-publish的插件 plugins {kotlin("jvm") version "1.3.72"kotlin("plugin.spring") version "1.3.72"java-librarymaven-publishmaven }如同maven项目一样设置组、版本信息 gr…

妙用postman系列——postman建组、分享

妙用postman系列——postman建组、分享 添加新的组和请求。 3、生成分享链接 4、导入分享链接

Postman使用Date数据类型,Postman发送Date类型数据,Postman模拟前端调用

Postman使用Date数据类型&#xff1a; 在form-data数据类型下&#xff0c;使用 2021/7/7 11:11:00 &#xff08;yyyy/MM/dd HH:mm:ss&#xff09; 的数据格式即可 如下&#xff1a; 在json数据格式中&#xff0c;这种的则不能适用&#xff0c;需要在Per-request Script中设置…

IDEA中将代码块封装为方法,IDEA代码重构快捷键

IDEA中将代码块封装为方法 选中要转换的代码块&#xff0c;快捷键&#xff1a; Windows快捷键&#xff1a;Alt Shift M Mac快捷键&#xff1a;Alt Command M 如图&#xff1a;

Kotlin协程使用,协程使用注意事项,协程中的await方法使用|不使用suspend使用协程

参见 码云 协程使用方法一 &#xff08;Dispatchers调度器模式&#xff09; 指定不同线程。同线程会挂起并阻塞&#xff08;挂起是不影响主线程执行&#xff0c;阻塞是同样的IO线程会阻塞&#xff09; withContext(Dispatchers.IO) { // &#x1f448; 切换到 IO 线程&…

Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败

[Alibaba Cloud Linux 2.1903 LTS 64位]服务器yum源下载404 failure: repodata/repomd.xml from docker-ce-stable: [Errno 256] No more mirrors to try. https://download.docker.com/linux/centos/2.1903/x86_64/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 -…

OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3

OpenAPI使用&#xff08;swagger3&#xff09; demo见Gitte 一、背景及名词解释 OpenAPI是规范的正式名称。规范的开发工作于2015年启动&#xff0c;当时SmartBear&#xff08;负责Swagger工具开发的公司&#xff09;将Swagger 2.0规范捐赠给了Open API Initiative&#xff0…

linux环境下nacos的安装+启动,阿里云服务器安装nacos

nacos安装启动&#xff08;linux环境&#xff09;&#xff1a; 基础&#xff1a;安装java环境 官网下载压缩包&#xff1a;如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-server-1.2.1.tar.gz进入bin目录 cd nacos/bin # 启动 sh startup.sh -m sta…

SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

SpringBoot项目使用nacos kotlin demo见Gitte 一、引入依赖 提示&#xff1a;这里推荐使用2.2.3版本&#xff0c;springboot与nacos的依赖需要版本相同&#xff0c;否则会报错。 maven版本 <dependency><groupId>com.alibaba.cloud</groupId><artifact…

使用第三方SDK(如微信、qq、快看、头条等),调用接口405 Method Not Allowed

使用第三方SDK&#xff08;如微信、qq、快看、头条等&#xff09;&#xff0c;调用接口405 Method Not Allowed 错误描述&#xff1a;postman请求正常&#xff0c;但客户端调用后接口没有反应&#xff0c;但返回了405错误。 解决方法&#xff1a;第三方sdk调用接口需要使用http…

ECS(Linux)连接RDS,使用命令行方式连接实例

使用命令行方式连接实例 通过命令行连接RDS MySQL数据库&#xff0c;连接方式如下&#xff1a; mysql -h<连接地址> -P<端口> -u<用户名> -p -D<数据库名称># 假设 用户testuser 密码123 数据库连接为 rm-bp1457xxxxxx.mysql.rds.aliyuncs.com mysql…

kotlin设置CORS跨域资源共享,java设置允许跨域,服务端如何设置 springboot中设置跨域资源共享

CORS通信过程&#xff0c;都是浏览器或http插件自动完成&#xff0c;不需要 用户/开发人员 参与。对于开发者来说&#xff0c;CORS通信与同源的AJAX通信没有差别&#xff0c;代码是完全一样的。浏览器一旦发现AJAX请求跨源&#xff0c;就会自动添加一些附加的头信息&#xff0c…

创建数据库,指定数据库的字符集和编码顺序

创建数据库&#xff0c;指定它的字符集和编码顺序 create database {数据库名称} CHARACTER SET {字符集} COLLATE {排序规则}举例&#xff1a; create database collage CHARACTER SET utf8mb4 COLLATE utf8_general_ci

Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常

kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized 注解类加载延迟导致的异常 解决方法一&#xff1a;工厂模式 建一个工厂类&#xff0c;如UserServiceFactory&#xff0c;使用该方法 java版&#xff1a; public abs…

kotlin中继承父属性使用构造方法

kotlin中继承父属性使用构造方法 1. 定义父类&#xff0c;给它两个属性&#xff1a; abstract class AbstractResponseMessage {private var success trueprivate var reason: String? nullconstructor() {}constructor(success: Boolean, reason: String?) {this.succes…

在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置

在kotlin companion object中读取配置文件 静态类使用Value注解配置 class Config {Value("\${name}")fun setName(name: String) {Config.name name}companion object {private var name:String ? nullfun getName(): String {return name}} }在companion object…

微信公众号为指定openid用户推送消息

微信公众号为指定openid用户推送消息 微信提供的开放接口中&#xff0c;有两个给指定openid的用户发送信息的接口&#xff0c;适用场景应该是向 预约用户或者中奖用户发送消息。 第一个接口&#xff1a;客服发送消息 请求方式&#xff1a; POST 请求地址&#xff1a;https://a…

Docker容器的备份与恢复,Docker镜像的备份与恢复

1. 备份容器 首先&#xff0c;为了备份Docker中的容器&#xff0c;我们会想看看我们想要备份的容器列表。要达成该目的&#xff0c;我们需要在我们运行着Docker引擎&#xff0c;并已创建了容器的Linux机器中运行 docker ps 命令。 # docker ps Docker Containers List 在此之…

SpringBoot部署脚本,拿走即用!

一个可以直接拿来使用的shell脚本&#xff0c;适用于springboot项目 #!/bin/bash # 这里可替换为你自己的执行程序&#xff0c;其他代码无需更改,绝对路径相对路径均可。 # 若使用jenkins等工具远程构建&#xff0c;则使用绝对路径&#xff0c;下面的日志输出路径同&#xff0…

淘宝获取单笔订单信息服务端调用API及流程

淘宝获取单笔交易接口&#xff08;文档地址&#xff09;&#xff1a;https://open.taobao.com/api.htm?docId54&docType2 调用接口所需依赖&#xff08;文档地址&#xff09;&#xff1a;https://developer.alibaba.com/docs/doc.htm?treeId1&articleId101618&d…

在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码、通讯内容或信用卡信息)

现象&#xff1a;在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息&#xff08;例如&#xff1a;密码、通讯内容或信用卡信息&#xff09;。 当点开“了解详情”后显示&#xff1a; 了解详情 NET::ERR_CERT_INVALID 将您访问的…

Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器

Dockerfile 将springboot项目jar包打成镜像&#xff0c;并将yml配置文件外挂。 # 以一个镜像为基础&#xff0c;在其上进行定制。就像我们之前运行了一个 nginx 镜像的容器&#xff0c;再进行修改一样&#xff0c;基础镜像是必须指定的。而 FROM 就是指定 基础镜像&#xff0c…

解决gitte提交报错 error: GE007: Your push would publish a private email address.

错误情况&#xff1a; gitte提交报错&#xff0c;无法提交上去&#xff0c;报错如下&#xff1a; remote: Powered by GITEE.COM [GNK-6.0] remote: error: GE007: Your push would publish a private email address. remote: You can make your email public or disa…