
算法
Tannin724
这个作者很懒,什么都没留下…
展开
-
八大排序算法总结
讲述难度从我个人角度从简单到难,从熟悉到陌生,比较重要的排序是堆排序和快速排序。以下全都是C++代码实现,遵循的原则是最简洁。1.冒泡排序冒泡排序应该是最简单的排序了,高中的时候就已经练了滚瓜烂熟了。冒泡排序的排序规则是:从最后一个数开始,每次与他上一个数进行比较,根据比较大小进行交换,接着向上移,直到遇到i,一轮比较完成,将未排序中最大(最小)的数冒泡到最上面。vector<in...原创 2020-02-12 17:04:04 · 767 阅读 · 0 评论 -
回溯算法问题总结
1.全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]这道题虽然是简单题,但也把我折腾个够呛,奇淫技巧就不说了,老老实实的回溯就行了。可就是简单的回溯我一开始也写不好,一开始简单的想着每次回溯前删除一个数...原创 2019-12-22 22:06:14 · 357 阅读 · 0 评论 -
字符串问题总结
1.无重复字符的最长字串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无...原创 2019-12-20 17:00:43 · 190 阅读 · 0 评论 -
回文串问题总结
1.最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"中心传播法,在每个元素中间插入‘#’来适应偶数回文串的情况,再遍历数组,每次遍历一个字符时,将该字符作为中心字符,向两边遍历,如果相等...原创 2019-12-20 16:46:06 · 244 阅读 · 0 评论 -
链表问题总结
1.删除链表的倒数第n个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.解在只循环一次的情况下,这题有两种解法一种是用数组存储每次遍历的链表,这种比较简单但浪费一定空间。第二种是快慢指针,快...原创 2019-12-19 18:47:43 · 211 阅读 · 0 评论 -
LeetCode 10.正则表达式匹配
正则表达式匹配给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘’ 的正则表达式匹配。‘.’ 匹配任意单个字符'’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 。示例 1:输入:s = “aa”...原创 2019-11-23 14:42:05 · 118 阅读 · 0 评论