当前位置: 首页 > news >正文

编程算法总结

写给自己看。。。。。持续更新

一、编程解法总结

1、判断输入的密码是否正确,比如要求长度大于8,包含至少一个大写,一个小写,一个特殊字符;

import re
def is_password_valid(password):
    # 检查密码长度是否大于8
    if len(password) <= 8:
        return False, "密码长度必须大于8"
    # 检查是否包含至少一个大写字母
    if not re.search(r'[A-Z]', password):
        return False, "密码必须包含至少一个大写字母"
    # 检查是否包含至少一个小写字母
    if not re.search(r'[a-z]', password):
        return False, "密码必须包含至少一个小写字母"
    # 检查是否包含至少一个特殊字符(例如:!@#$%^&*()_+等)
    if not re.search(r'[!@#$%^&*()_+\-=\[\]{};:"\\|,.<>/?]', password):
        return False, "密码必须包含至少一个特殊字符"
    # 如果所有条件都满足,返回 True
    return True, "密码有效"
# 测试密码
password = input("请输入密码:")
is_valid, message = is_password_valid(password)
if is_valid:
    print("密码符合要求!")
else:
    print(f"密码不符合要求:{
     message}")

2、最长公共子序列(二)
描述
给定两个字符串str1和str2,输出两个字符串的最长公共子序列。如果最长公共子序列为空,则返回"-1"。目前给出的数据,仅仅会存在一个最长的公共子序列
数据范围:0≤∣str1∣,∣str2∣≤20000
要求:空间复杂度 O(n2),时间复杂度 O(n2)

输入:
"1A2C3D4B56","B1D23A456A"
返回值:
"123456"
def longest_common_substring(str1, str2):
    # 获取字符串长度
    len1, len2 = len(str1), len(str2)
    # 初始化 DP 数组和变量
    dp = [[0] * (len2 + 1) for _ in range(len1 + 1)]
    max_len = 0  # 最长公共子串的长度
    end_pos = 0  # 最长公共子串在 str1 中的结束位置
    # 填充 DP 数组
    for i in range(1, len1 + 1):
        for j in range(1, len2 + 1):
            if str1[i - 1] == str2[j - 1]:
                dp[i][j] = dp[i - 1][j - 1] + 1
                if dp[i][j] > max_len:
                    max_len = dp[i][j]
                    end_pos = i

相关文章:

  • 【初阶数据结构】树和二叉树
  • 已有项目添加vitepress
  • 硬件基础(3):三极管(1):理论基础
  • 补题A-E Codeforces Round 953 (Div. 2)
  • 【Qt源码】窥视信号槽实现机制
  • jdk21下载、安装(Windows、Linux、macOS)
  • HTML转义和反转义工具类
  • @KafkaListener和KafkaTemplate自动装配原理分析
  • TLS与自签名证书的创建、作用、用到的工具等知识的介绍
  • 《MULTI-CLASS SEMANTIC SEGMENTATION OF FACES》论文分享(侵删)
  • pandas如何添加列
  • android进阶面试题目
  • 机器学习(部分算法、模型)
  • 【redis】数据类型之Bitfields
  • 网络安全入门|HTTP慢速攻击的终极防御:零信任与AI对抗
  • 信号——进程间通信(20250225)
  • 微软开源神器OmniParser-v2.0本地部署教程
  • vue3 封装通用 ECharts 组件
  • 绕过information_schema与order by注入以及seacsmv9注入
  • 使用open-webui调用大模型
  • 集团网站建设成都/广告推广平台哪个好
  • 含山县城市建设有限公司网站/企业门户网站模板
  • 西宁网站制作多少钱/乔拓云网站建设
  • 网站运营招聘要求/简述企业网站如何推广
  • 免费网页制作网站建设/百度推广二级代理商
  • 做网站费用入什么科目/桂林网站设计