摘要: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 中心扩展法 代码实现: package mainimport  阅读全文
posted @ 2019-05-28 17:45 yiyezhou2012 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 堆排序的思想 因为堆的形式是完全二叉树,跟数组的索引形成映射,可以使用数组保存。先构建最大(小)堆,根结点就是最大(小)值,删除根结点之后的节点重新构建堆,依此顺序,即可完成堆排序。 代码实现 package mainimport "fmt"func main() { a := []int{34,  阅读全文
posted @ 2019-05-28 17:43 yiyezhou2012 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序,是稳定排序,时间复杂度是O(N2)。 算法稳定性:假设在数列中存在a[i]=a[j],若在排序之前,a[i]在a[j]前面;并且排序之后,a[i]仍然在a[j]前面。则这个排序算法是稳定的! 代码实现: func main() { a := []int{10, 5, 2, 9, 8, 6, 阅读全文
posted @ 2019-05-28 17:41 yiyezhou2012 阅读(240) 评论(0) 推荐(0) 编辑