009 字符串解密加扰字符串

009 字符串解密加扰字符串
题目描述
给定两个字符串string1和string2。

string1是一个被加扰的字符串,由小写英文字母(a-z)和数字字符(0-9)组成,而加扰字符串由0-9和a-f组成,string1里面可能包含0个或多个加扰子串,剩下可能有0个或多个有效子串,这些有效子串被加扰子串隔开。
string2是一个参考字符串,仅由小写英文字母(a-z)组成。
你需要在string1字符串里找到一个有效子串,这个有效子串要同时满足下面两个条件:

这个有效子串里不同字母的数量不超过且最接近于string2里不同字母的数量,即小于或等于string2里不同字母的数量的同时且最大。
这个有效子串是满足条件(1)里的所有子串(如果有多个的话)里字典序最大的一个。
如果没有找到合适条件的子串,请输出"Not Found"

示例:

输入字符串string1为"thisisanewday111forme",输入字符串string2为"good"。

string1里有效子串和加扰子串分割后,可表示为:“thisis”+“a”+“n”+“e”+“w”+“da”+“y”+“111f”+“orm”+“e”,去除加扰子串(“a”、“e”、“da”、“111f”、“e”)后的有效子串候选为"thisis"、“n”、“w”、“y”、“orm”。

输入字符串string2里不同字母的数量为3个,分别是"g"、“o”、“d”,从有效子串候选里可以找出"orm"子串满足要求,其不同字母的数量为3,最接近string2不同字母的数量。

输入描述
input_string1
input_string2
Copy to clipboardErrorCopied
说明:

输入为两个字符串,第1行表示string1(被加扰的字符串),第2行表示string2(参考字符串)。
输入字符串string1长度在1100000之间,字符串string2长度在1500之间。
输出描述
输出一个符合要求的有效字符串。

示例描述
示例一
输入:

123admyffc79pt
ssyy
Copy to clipboardErrorCopied
输出:

pt
Copy to clipboardErrorCopied
说明:
将输入字符串string1里的加扰子串"123ad"、"ffc79"去除后得到有效子串序列[“my”,“pt”],其中"my"里面不同字母的数量为2(有m和y两个不同字母),"pt"里面不同字母的数量为2(有p和t两个不同字母)

输入字符串string2里面不同字母的数量为2(有s和y两个不同字母)

最终输出结果为"pt",其不同字母的数量最接近于"ssyy"里不同字母的数量,同时字典序最大。

示例二
输入:

123admyffc79ptaagghi2222smeersst88mnrt
ssyyfgh
Copy to clipboardErrorCopied
输出:

mnrt
Copy to clipboardErrorCopied
说明:
将输入字符串string1里的加扰子串"123ad"、“ffc79”、“aa”、“2222”、“ee”、"88"去除后得到有效子串序列[“my”,“pt”,“gghi”,“sm”,“rsst”,“mnrt”];输入字符串string2里不同字母的数量为5。

最终输出结果为"mnrt",其不同字母的数量为4,最接近于"ssyyfgh"里不同字母的数量,其他有效子串不同字母的数量都小于"mnrt"。

示例三
输入:

abcmnq
rt
Copy to clipboardErrorCopied
输出:

Not Found
Copy to clipboardErrorCopied
说明:
将输入字符串string1里的加扰子串"abc"去除后得到有效子串序列[“mnq”],输入字符串string2里不同字母的数量为2。

最终输出结果为"Not Found",没有符合要求的有效子串,由于有效子串里面不同字母的数量为3,大于输入字符串string2里面不同字母的数量。

解题思路
获取有效子串:使用临时字符串tmp_string保存有效子串,然后保存到有效子串序列avail_strings中。
使用set去重,得到参考字符串string2的长度
遍历有效子串序列,进行判断:
如果有效子串的长度小于参考字符串的长度
如果满足条件,则用result保存有效子串
如果有效子串的长度相等,取字典序大的有效子串,并用result保存有效子串
返回最终有效子串。
解题代码
import re

def solve_method(string1, string2):
# 获取有效子串
avail_strings = re.findall(r’[^0-9a-f]+', string1)

# 参考字符串的长度
string2_len = len(set(string2))result = ""
for ava_str in avail_strings:if len(ava_str) > 0:# 有效子串的长度ava_str_len = len(set(ava_str))# 如果有效子串的长度小于参考字符串的长度if ava_str_len <= string2_len:result_len = len(set(result))# 如果满足条件if ava_str_len > result_len:result = ava_str# 如果长度相等,取字典序大的那个elif ava_str_len == result_len and ava_str > result:result = ava_strreturn result if len(result) > 0 else "Not Found"

if name == ‘main’:
assert solve_method(“123admyffc79pt”, “ssyy”) == “pt”
assert solve_method(“123admyffc79ptaagghi2222smeersst88mnrt”, “ssyyfgh”) == “mnrt”
assert solve_method(“abcmnq”, “rt”) == “Not Found”

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

手把手教你搭建OpenScenario交通场景(上)

OpenScenario是一种专为自动驾驶系统仿真测试设计的场景描述语言&#xff0c;它基于XML格式&#xff0c;旨在提供一个标准化、模块化的框架&#xff0c;用于定义和重现复杂的道路交通场景。该语言不仅能够详细描绘车辆、行人、交通信号及其他动态交通参与者的行为模式&#xff…

专业140+总分430+复旦大学875信号与系统考研经验原957电子信息通信考研,真题,大纲,参考书。

专业140&#xff0c;总430&#xff0c;复旦大学875信号与系统&#xff08;电子信息&#xff09;原957经验贴分享&#xff0c;希望大家复习有帮助。 专业课&#xff08;875信号与系统含随机过程-原957&#xff09; 专业课这方面我是从7月开始&#xff0c;刚好数学第一遍搞好了大…

NVR小程序接入平台EasyNVR多品牌NVR管理工具/设备介绍

随着数字化浪潮的迅猛推进&#xff0c;视频监控技术在维护公共安全、提升管理效能方面发挥着越来越重要的作用。在众多视频监控平台中&#xff0c;NVR小程序接入平台EasyNVR是一款拓展性强、视频能力灵活且部署轻便的安防视频监控平台。它支持多种主流标准协议&#xff0c;并能…

C语言 | Leetcode 题解之第535题TinyURL的加密与解密

题目&#xff1a; 题解&#xff1a; typedef struct {int key;char *val;UT_hash_handle hh; } HashItem;HashItem *dataBase NULL;char* encode(char* longUrl) {srand(time(0));int key;HashItem * pEntry NULL;while (true) {key rand();pEntry NULL;HASH_FIND_INT(dat…

磁盘分区并挂载

https://blog.csdn.net/qq_45664055/article/details/107516419

投机采样的显性化——OpenAI新feature:Predicted Outputs

关于投机采样speculative decoding我就不特别详细解释了 我在这里简单描述一下 小模型生成了接下来的n个标记&#xff0c;然后在大模型上进行n个并行推理&#xff0c;具体为&#xff1a;Prompt&#xff0c;Prompt ST1&#xff0c;Prompt ST1 ST2 … Prompt ST1 ST2 … …

BO-CNN-LSTM回归预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多输入单输出回归预测

BO-CNN-LSTM回归预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多输入单输出回归预测 目录 BO-CNN-LSTM回归预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多输入单输出回归预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 …

有趣的Midjourney作品赏析(附提示词)

中文提示词&#xff1a;国风少年 C4D软件,高分辨率,超细节,超现实主义, 英文提示词&#xff1a;National Style Youth Cinema4D,high resolution,hyper detailed,surrealism, --niji 6 --ar 1:1 中文提示词&#xff1a;粘土模型&#xff0c;男性穿着中世纪欧洲蓝色盔甲&#x…

【保姆级教程】实操 Linux 磁盘管理:硬盘选型 分区挂载

最近&#xff0c;Linux 服务器自带的固态硬盘&#xff0c;空间告警&#xff0c;急需加上一块新的硬盘来救急。 今日分享&#xff0c;系统梳理下 Linux 下挂载磁盘的详细步骤和注意事项&#xff0c;方便日后翻阅&#xff0c;也给有类似需求的小伙伴一点帮助。 1. SSD&#xff…

离线安装nvidia docker2插件

由于网络问题&#xff0c;各位下载nvidia docker插件存在各种各样的问题&#xff0c;往往需要换源&#xff0c;或者其他途径外网解决&#xff0c;为了避免这么麻烦&#xff0c;可选择直接将包下载到本地&#xff0c;使用dpkg本地安装。 离线包下载地址&#xff0c;总共需要下载…

MySQL多表查询

扩展 upsert语法 原始数据 create table stu(id int primary key auto_increment,name varchar(20), #学生姓名gender varchar(10), #学生性别age int #学生姓名 ) default charsetutf8;insert into stu values(null,乔峰, 男 ,28),(null,虚竹, 男 ,25),(n…

让智能体—“正念365”陪你一起“养心”

佛学的“八正道”中&#xff0c;笔者个人观点&#xff0c;“正念”是最适合当代人低门槛练习的一个&#xff0c;因为不需要阅读大量的知识来理解概念&#xff0c;只需要保持对当下的觉察&#xff0c;发现分心了&#xff0c;就不带评价的把注意力拉回到当前的事情上就好。就是佛…

uni-app小程序开发(1)

下载软件就不多赘述了。 直接上代码&#xff0c;写过wep端的vue看这个小程序就简单很多&#xff0c;不需要搞那么多麻烦事情&#xff0c;直接编译器就创建好了基础模版。 1、项目结构 暂时知道这么多&#xff0c;后续再补充 2、页面创建、导航栏设置、基础属性设置 在pages中…

Mac上无法访问usr/local的文件

sudo chmod 755 /usr/loca 最后用百度提供的方法解决了

Python Matplotlib 子图绘制

Python 中的子图绘制 在数据可视化中&#xff0c;展示多个图表在同一个画布上是常见的需求&#xff0c;这样可以更直观地比较不同数据集之间的关系。Python 中的 Matplotlib 库为我们提供了强大的功能来实现这一点。在本篇文章中&#xff0c;我们将详细介绍如何使用 Matplotli…

编写一个基于React的聊天室

前言 此前已经编写了一版后端的im&#xff0c;此次就用其作为服务端&#xff0c;可查看参考资料1 代码 使用WebStorm创建React项目 安装依赖包 PS C:\learn-demo\front\chatroom> npm installadded 183 packages, and audited 184 packages in 16s43 packages are looki…

Python-利用os,tkinter库编写一个伪恶意程序文件(Pro版)

前言&#xff1a;上一期我们简单学习了如何编写一个多次弹窗警告用户的exe伪恶意文件。我们知道了把Python初始文件编译为exe文件后&#xff0c;程序在没有Python环境的情况下也能正常运行。我们上次编写的程序仅仅只是伪造系统正在执行关机命令前的倒计时的假象&#xff0c;实…

低压线路保护器在生产型企业配电系统中的应用

摘要 随着现代电力系统的发展&#xff0c;配电系统的可靠性和安全性要求日益提高。低压线路保护器在其中扮演着关键角色。本文将探讨低压线路保护器的工作原理及其在现代配电系统中的作用&#xff0c;重点介绍ALP系列低压线路保护器的功能与应用。 引言 低压线路保护器用于保…

像狗一样的男人 --- 社保 篇

如果你不想像狗一样的活着&#xff0c;请抛弃幻想&#xff0c;保持学习 一些概念城镇职工社会保险&#xff08;五险一金&#xff09;城居保&#xff08;新农合&#xff09; 一些概念 社保有两个系统&#xff1a; 城镇职工社会保险 也就是 五险一金。新农合 14年新农合改名叫城…

腾讯云轻量应用服务器最佳实践

引言 轻量应用服务器是新一代开箱即用、面向轻量应用场景的云服务器产品&#xff0c;助力中小企业和开发者便捷高效的使用&#xff0c;相比普通云服务器更加简单易用且更贴近应用&#xff0c;提供极简上云体验。那么如何正确地购买、配置、管理轻量应用服务器&#xff0c;以确…