摘要: 题目: 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。 示例 2: 输入: "aba" 输出: False 示例 3: 输入 阅读全文
posted @ 2019-11-07 21:33 随温 阅读(172) 评论(0) 推荐(0)
摘要: 1.快速排序的思想 快速排序属于交换排序,是冒泡排序的升降版。相对于冒泡排序而言,快速排序增大了记录比较和移动的距离,将关键字较大的记录直接移动到后面,将关键字较小的记录直接移动到前面;不再是相邻两个记录依次进行比较和交换,需要多次移动才能将关键字较大的记录移动到后面。从而快速排序减少了总的比较次数 阅读全文
posted @ 2019-11-07 16:23 随温 阅读(250) 评论(0) 推荐(0)
摘要: 在刷这道题时,受到别人的启发,并在其基础上改进了一下。 1.三边构成三角形的充分必要条件是:较小的两边之和大于第三边 2.用Arrays.sort(),时间复杂度为O(n2) 3.在这里用冒泡排序法,最好的结果就排序3趟,时间为3n,最坏的结果n2 4.冒泡排序法中,当某一趟没有交换时,排序完成。这 阅读全文
posted @ 2019-11-04 10:40 随温 阅读(208) 评论(0) 推荐(0)
摘要: 1.归并排序思想: 以2路归并为例,一个有n个记录的序列可以看作n个长度为1的有序子序列,将其两两合并成n/2(向上取整)个长度为2或1的有序序列,当有奇数个记录时为1,重复归并,直到得到一个长度为n的有序序列。 2.归并排序的复杂度: 递归:时间复杂度O(nlongn),空间复杂度O(n+long 阅读全文
posted @ 2019-11-03 11:39 随温 阅读(222) 评论(0) 推荐(0)