摘要: 题意: 给出一个字符串 S,考虑其所有重复子串(S 的连续子串,出现两次或多次,可能会有重叠)。返回任何具有最长可能长度的重复子串。(如果 S 不含重复子串,那么答案为 ""。) 示例 1: 示例 2: 思路:(字符串hash+二分) 针对长度简单的从length(S)-1递减时间过长的问题。如果有 阅读全文
posted @ 2019-10-23 15:50 ljy3268 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 方法一(非递归): 算法原理:P = {1,2,3,...n},元素集合1、在P中从右向左遍历,直至查到P{i} < P{i+1} ,记录i的值2、在P中从右向左遍历,找到第一个比P{i}大的值 P{j},记录此时j的值3、交换P{i}​​​​​​​ 和P{j}​​​​​​的值4、将i以后的值翻转, 阅读全文
posted @ 2019-10-23 12:11 ljy3268 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出整数数组A,将该数组分隔为长度最多为K的几个(连续)子数组。分隔完成后,每个子数组的中的值都会变为该子数组中的最大值。 返回给定数组完成分隔后的最大和。 示例: 思路: 简单DP。dp[i]表示分割完前i个数,最大值是多少。j表示当前段的长度[1,K]。假设我们知道[i-j,i]这一段的 阅读全文
posted @ 2019-10-23 00:26 ljy3268 阅读(300) 评论(0) 推荐(0) 编辑