力扣459 重复的字符串

复制代码
bool repeatedSubstringPattern(char * s) {
    int n = strlen(s);
    for (int i = 1; i <= n / 2; i++) {
        if (n % i == 0) {  // 检查当前长度是否能整除原字符串长度
            bool match = true;
            char * substring = s;  // 获取子串的起始位置
            for (int j = i; j < n; j++) {
                if (s[j] != s[j % i]) {  // 检查子串重复多次是否等于原字符串
                    match = false;
                    break;
                }
            }
            if (match) {
                return true;
            }
        }
    }
    return false;
}
python 复制代码
class Solution:
    def repeatedSubstringPattern(self, s: str) -> bool:
        a = len(s)
        for i in range(1, a // 2 + 1):
            if a % i == 0:  # 检查当前长度是否能整除原字符串长度
                substring = s[:i]  # 获取子串
                if substring * (a // i) == s:  # 检查子串重复多次是否等于原字符串
                    return True
        return False  # 如果没有找到合适的子串,返回 False
#1.// 取商  % 求余
#2.s[:i] 通过切片获取子串
#3.substring * (a // i) ==>字符串拼接
相关推荐
CQU_JIAKE5 分钟前
5.7【A】
算法
2zcode7 分钟前
基于SVM与HOG算法的行人检测系统设计与实现
算法·机器学习·支持向量机
MATLAB代码顾问11 分钟前
MATLAB实现粒子群算法优化PID参数
开发语言·算法·matlab
翎沣15 分钟前
C++11异常处理机制
java·c++·算法
火花怪怪20 分钟前
Origin分析外量子效率(EQE, External Quantum Efficiency)数据处理-EQE计算带隙
算法·数据分析
上弦月-编程22 分钟前
异或法巧解数组中两独数
数据结构·算法
risc12345623 分钟前
维特比算法(Viterbi Algorithm)
算法
Black蜡笔小新36 分钟前
自动化AI算法训练服务器/企业AI算力工作站DLTM重塑企业AI开发模式赋能企业智能转型
人工智能·算法·自动化
科研小白_39 分钟前
【第一期:MATLAB点云处理基础】LAS点云数据导入与可视化
算法