Leetcode反思
weixin_42658928
这个作者很懒,什么都没留下…
展开
-
Manacher 算法
前言 今天做的是最长回文子字符串的求解,我所用的是遍历查找回文中心点,在通过中心点向两边扩展,这样做的效率比暴力搜索好一点但是复杂度还是o(n^2),答案解析中提到了Manacher算法,所以就百度了解了一下。 Manacher 算法 这里先贴上原文链接: https://subetter.com/articles/manacher-algorithm.html 这里通过填充#字符来生成一个奇...原创 2018-10-12 20:57:53 · 75 阅读 · 0 评论 -
三目运算符的使用
三目运算符的使用 今天在做一道反转整数的题目时发现答案真的厉害,尤其是三目运算符的巧妙运用,平常运用的太少,还是需要多多练习。 class Solution { public: int reverse(int x) { int rev = 0; while (x != 0) { int pop = x % 10; ...原创 2018-10-08 22:17:21 · 1635 阅读 · 0 评论 -
哈希算法(散列算法)简单运用
哈希算法(散列算法) 今天在做LeetCode的时候做到第三题,不包含重复字符的子字符串的最大长度,深刻意识到散列查找的快速性。 核心思想:用空间换时间 哈希算法的核心思想就是用空间复杂度来换取时间复杂度,简单来说,一般的查找都需要通过遍历整个数据结构来找到你所想要的值,而哈希算法先将你所想查找的关键字存储在特定的地方,你可以通过关键字直接找到他,而不需要去遍历整个数据。大部分哈希查找的时间复杂度...原创 2018-10-09 22:49:09 · 2509 阅读 · 0 评论 -
回溯算法
今天刷leetcode的时候遇到了回溯算法的经典问题,生成n个括号的组成方式 这里就直接贴上代码了,顺便巩固一下回溯算法。 class Solution { public: vector<string> generateParenthesis(int n) { vector<string> rev; append("",rev,n,n...原创 2018-10-24 21:03:54 · 136 阅读 · 0 评论