Golang Leetcode 459. Repeated Substring Pattern.go
时间:2022-06-19
本文章向大家介绍Golang Leetcode 459. Repeated Substring Pattern.go,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/89175040
思路
有一个神奇的解法:
- 用两个s 首尾相连得到一个新的字符串ss ;
- 去掉ss 的首尾两个字符;
- 如果在剩下来的字符串中能找到s 那么返回True,否则False if len(s) == 0 { return false } ss := (s + s)[1:(len(s)*2)-1] return strings.Contains(ss, s) 这里用的解法: 重复子串长度最长为len/2,直接每次选择一个可以被整除的较小的数,截取开头的那几个字符,然后重复到原长度验证就好。
code
func repeatedSubstringPattern(s string) bool {
str := []byte(s)
if len(str) <= 1 {
return false
}
max := len(str) / 2
for i := 1; i <= max; i++ {
j := i
idx := 0
if len(str)%i > 0 {
continue
}
for ; j < len(str); j++ {
if str[j] != str[idx] {
break
}
idx++
if idx >= i {
idx = 0
}
}
if j == len(str) {
return true
}
}
return false
}
- 机器学习(三)使用Python和R语言从头开始理解和编写神经网络介绍目录神经网络背后的直观知识多层感知器及其基础知识什么是激活函数?前向传播,反向传播和训练次数(epochs)多层感知器全批量梯度下降
- React第三方组件2(状态管理之Refast的使用⑤LogicRender使用)
- 左右用R右手Python9——字符串合并与拆分
- hdu 1003 Max Sum(最大子窜和)
- React第三方组件2(状态管理之Refast的使用④中间件middleware使用)
- 高维分面应用——ggplot2分面气泡图饼图
- poj 1579 Function Run Fun
- React第三方组件2(状态管理之Refast的使用③扩展ctx)
- 财经小知识——CRS风暴与全球离岸金融中心
- The Triangle
- React第三方组件2(状态管理之Refast的使用②异步修改state)
- UVa Automatic Editing
- React第三方组件2(状态管理之Refast的使用①简单使用)
- uva Excuses, Excuses!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法