传送门:https://loj.ac/problem/6087 【题解】 这垃圾题目卡空间啊。。。 k=1相信大家都会,把所有数异或起来就是答案了。 考虑k=2,把所有数异或起来得到两个答案数的异或值,考虑异或值为1的某一位,这一位一定是一个数为0,一个数为1造成的。 我们对每个二进制位存 这个二进 ...
分类:
其他好文 时间:
2017-06-19 14:28:31
阅读次数:
194
问题大意是将整数(1~3999)转换为罗马数字形式,并以字符串的形式返回。至于罗马数字可以参考https://en.wikipedia.org/wiki/Roman_numerals中的说法。 很暴力的解决方案,直接看代码吧,时间复杂度和空间复杂度均为常数,即O(1)。 代码的运行时间是82ms ...
分类:
其他好文 时间:
2017-06-18 13:19:41
阅读次数:
178
需要记忆的部分: 对于二叉树问题,首先需要熟练记住二叉树的前序中序遍历的递归版本和迭代版本,后序也可以看一下,记住BFS的实现过程,归并排序,快速排序,二叉搜索树BST。 总结: 1)二叉树问题基本都是考察递归,几乎所有的二叉树问题时间复杂度都是O(N),空间复杂度和二叉树的高度有关系,因为每一次递 ...
分类:
其他好文 时间:
2017-06-17 18:21:31
阅读次数:
129
小猪的数据结构辅助教程——1.数据结构与算法绪论 标签(空格分隔): 数据结构 本节学习路线图与学习要点 学习要点: 1.了解数据结构的相关概念 2.了解算法的相关概念 3.熟悉时间复杂度的计算 4.了解空间复杂度的概念,闰年表空间换时间的样例~ 1.什么是数据结构? 2.算法的叙述 3.时间复杂度 ...
分类:
编程语言 时间:
2017-06-16 11:27:25
阅读次数:
239
在局部搜索算法中,我们不再关心从初始节点到目标节点之间的路径,而是考虑从当前节点出发,移动到它的邻近状态,直到到达合理的目标状态。相比于前面所说的无信息搜索算法和有信息搜索算法,局部搜索算法往往能以常数的空间复杂度(不用保存路径)在很大甚至无限的状态空间中找到合理解。 爬山法 爬山法不断向值增加的方 ...
分类:
编程语言 时间:
2017-06-15 14:23:11
阅读次数:
186
Binary Tree Level Order Traversal 这几个题目相似。都是用同样的递归法,时间空间复杂度都为O(n). 当然,还有迭代法,控件复杂度会降至 O(1),这个暂不讨论。 Binary Tree Level Order Traversal // 递归版,时间复杂度 O(n), ...
分类:
其他好文 时间:
2017-06-14 18:09:09
阅读次数:
149
Leetcode72 看起来比较棘手的一道题(列DP方程还是要大胆猜想。。) DP方程该怎么列呢? dp[i][j]表示字符串a[0....i-1]转化为b[0....j-1]的最少距离 转移方程分三种情况考虑 分别对应三中操作 因为只需要三个值就可以更新dp[i][j] 我们可以把空间复杂度降低到 ...
分类:
其他好文 时间:
2017-06-13 23:55:21
阅读次数:
194
我缺乏团队经验,这次就有机会参与到团里。 和同事讨论到一个话题,就是“for(int i=0; i<len; i++)”遍历方式,而我不喜这种用法,就用了“for(obj in list)”的方式。同事一看,说我的方式会比他的方式要慢,不赞同我的用法。 当时我没有反驳,因为我没想过这个问题,慢么? ...
分类:
其他好文 时间:
2017-06-13 10:13:29
阅读次数:
128
时间限制:3秒 空间限制:32768K 热度指数:7637 本题知识点: 链表 栈 时间限制:3秒 空间限制:32768K 热度指数:7637 本题知识点: 链表 栈 题目描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针 ...
分类:
其他好文 时间:
2017-06-10 12:20:26
阅读次数:
115
给定一个字符串,返回该字符串的最长回文子串。回文也就是说 。正着读和反着读是一样的。以下总结了几种求回文的方式: 方法1 : 非常easy,枚举全部的区间 [i,j] ,查看该范围内是否是一个回文. 时间复杂度 O(n^3),空间复杂度 O(1). 方法2: 方法1的时间复杂度太高,而且存在着大量的 ...
分类:
其他好文 时间:
2017-06-07 20:54:00
阅读次数:
181