leetcode -- 459. Repeated Substring Pattern【java细节优化 + 模式规律 + 数字规律排除 】
来源:互联网 发布:mac软件推荐 编辑:程序博客网 时间:2024/05/22 12:48
题目
Given a non-empty string check if it can be constructed by taking a substring of it and appending multiple copies of the substring together. You may assume the given string consists of lowercase English letters only and its length will not exceed 10000.
Example 1:
Input: "abab"Output: TrueExplanation: It's the substring "ab" twice.
Example 2:
Input: "aba"Output: False
Example 3:
Input: "abcabcabcabc"Output: TrueExplanation: It's the substring "abc" four times. (And the substring "abcabc" twice.)
题意
给定一个非空字符串,检查是否有某一个子串重复构成该字符串。
- 一个子串
- 子串的整数倍 构成 目标字符串。
分析及解答
解法1:
【细节优化】(提升代码运行速度)
- 【函数与变量】string.length() 若反复用到,通过len变量来进行存储,访问变量 比 访问函数要节省时间。
- 【数组】array[ i ] 比 String.charAt(i) 要节省时间。
- 【调整语句顺序】不要过早的定义变量,在变量有效范围内定义变量(堆,变量初始化需要花费时间)
public class RepeatedSubstringPattern {public boolean repeatedSubstringPattern(String s) {int len = s.length();char[] array = s.toCharArray();boolean isAllRepeated = false;for (int interval = 1; interval <= len / 2; interval++) {if (len % interval == 0) {boolean isOneRepeated = true;int count = len / interval;for (int i = 0; i < interval; i++) {for (int j = 0; j < count; j++) {isOneRepeated = isOneRepeated && (array[i] == array[i + j * interval]);}}isAllRepeated = isAllRepeated || isOneRepeated;}}return isAllRepeated;}}
阅读全文
0 0
- leetcode -- 459. Repeated Substring Pattern【java细节优化 + 模式规律 + 数字规律排除 】
- [LeetCode]Repeated Substring Pattern(Java)
- LeetCode 459. Repeated Substring Pattern
- Leetcode-459. Repeated Substring Pattern
- leetcode 459. Repeated Substring Pattern
- LeetCode 459. Repeated Substring Pattern
- 【LeetCode】 459. Repeated Substring Pattern
- LeetCode 459. Repeated Substring Pattern
- Leetcode 459. Repeated Substring Pattern
- LeetCode-459. Repeated Substring Pattern
- Leetcode 459. Repeated Substring Pattern
- 【Leetcode】459. Repeated Substring Pattern
- leetcode:459. Repeated Substring Pattern
- [LeetCode]459. Repeated Substring Pattern
- LeetCode 459. Repeated Substring Pattern
- LeetCode 459. Repeated Substring Pattern
- Leetcode 459. Repeated Substring Pattern
- LeetCode-459. Repeated Substring Pattern
- promise用法详解(写的很好)
- SparkStreaming在启动执行步鄹和DStream的理解
- 廖雪峰git读书笔记--添加远程库
- hibernate 乐观锁与悲观锁的实现
- jenkins中对was的部署支持
- leetcode -- 459. Repeated Substring Pattern【java细节优化 + 模式规律 + 数字规律排除 】
- ViewPager概述
- Vue实例 -构造器
- 地杰斯特拉
- 通过京东了解一下 NVIDIA 的不同系列的产品性能
- HDU 5943 Kingdom of Obsession(二分图)
- C语言常见问题
- C++中引用(&)的用法和应用实例
- Python中赋值、浅拷贝与深拷贝