文章目录
一、题目描述
在广告平台中,为了给广告主一定的自由性和效率,允许广告主在创造标题的时候以通配符的方式进行创意提交。线上服务的时候,会根据用户的搜索词触发的 bidword 对创意中的通配符(通配符是用成对 {} 括起来的字符串,可以包含 0 个或者多个字符)进行替换,用来提升广告投放体验。例如:“{末日血战} 上线送 SSR 英雄,三天集齐无敌阵容!”,会被替换成“帝国时代游戏下载上线送 SSR 英雄,三天集齐无敌阵容!”。给定一个含有通配符的创意和n个标题,判断这句标题是否从该创意替换生成的。
二、测试样例
三、代码
package com.kong.demo3;
/**
* @author kongdeming
* @date 2024/11/4
**/
import java.util.ArrayList;
import java.util.List;
public class Main {
public static String solution(int n, String template_, String[] titles) {
// 将通配符替换为正则表达式中的.*
String pattern = template_.replaceAll("\\{.*?\\}", ".*");
List<String> results = new ArrayList<>();
for (String title : titles) {
if (title.matches(pattern)) {
results.add("True");
} else {
results.add("False");
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < results.size(); i++) {
sb.append(results.get(i));
if (i < results.size() - 1) {
sb.append