DAY10|459. 重复的子字符串

  1. 重复的子字符串
class Solution {
    public boolean repeatedSubstringPattern(String s) {
        int[] next=new int[s.length()];
        getNext(next,s);
        if(next[s.length()-1]>0&&s.length()%(s.length()-next[s.length()-1])==0){
            return true;
        }
        return false;
    }
    public void getNext(int[] next,String s){
        int j=0;
        next[0]=0;
        for(int i=1;i<s.length();i++){
            while(j>0&&s.charAt(j)!=s.charAt(i)){
                j=next[j-1];
            }
            if(s.charAt(i)==s.charAt(j)){
                j++;
            }
            next[i]=j;
        }
    }
}
以下是使用SQL语言实现以上函数的示例代码: 1. 计算字符串长度 ```sql SELECT LENGTH("Hello World!"); -- 输出结果为 12 SELECT LENGTH("University"); -- 输出结果为 10 ``` 2. 获取字符串 ```sql SELECT SUBSTRING("Nice to meet you!", 6, 4); -- 输出结果为 meet ``` 3. 重复输出字符串 ```sql SELECT REPEAT("Cheer!", 3); -- 输出结果为 Cheer!Cheer!Cheer! ``` 4. 字符串逆序输出 ```sql SELECT REVERSE("voodoo"); -- 输出结果为 oodoov ``` 5. 按顺序排列字符串并选取部分组成新字符串 ```sql SELECT CONCAT("MySQL", "is", "great", "not") AS str FROM (SELECT 1 AS id UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) t WHERE id IN (1, 3, 4) ORDER BY id; -- 输出结果为 MySQLgreatnot ``` 6. 计算日期相关信息 ```sql SELECT WEEK(CURDATE()) AS week_of_year, DAYOFYEAR(CURDATE()) AS day_of_year, DAYNAME(CURDATE()) AS day_of_week, DAYOFWEEK(CURDATE()) AS day_in_week, DAYOFWEEK(CURDATE()) + ((WEEK(CURDATE()) - 1) * 7) - 1 AS day_in_workweek; -- 输出结果为 当前日期是第32周,第2天,星期二,一周中的第2天,第8个工作日 ``` 7. 查看当前连接状态 ```sql SHOW PROCESSLIST; ``` 8. 加密字符串 ```sql SELECT ENCODE("MySQL", "secret_key") AS encoded_str; -- 加密字符串 SELECT DECODE(encoded_str, "secret_key") AS decoded_str; -- 解密字符串 ``` 9. 将十进制值转换为十六进制值 ```sql SELECT HEX(100); -- 输出结果为 64 ``` 10. 格式化数值 ```sql SELECT ROUND(5.1584, 3); -- 输出结果为 5.158 ``` 11. 修改字符串字符集 ```sql SELECT CONVERT("new string" USING gb2312); -- 将字符串的字符集转换为 gb2312 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值