题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),空间复杂度为O(1)。 解题思路: 这道题目相对比较难,一般情况下,我们首先可以想到的是顺序扫描数组,但其时间复杂度为O(n^2)。进一步也可以想到用哈希表保存每一个数次 ...
分类:
编程语言 时间:
2020-05-05 00:47:23
阅读次数:
71
题目: 解法: 解题思路中序遍历,使用一个全局遍量记录最大深度,当到达的深度大于目前的最大深度时,为第一次到达该最大深度,更新结果,不超过该深度时,均不会更新。 复杂度时间复杂度:每个结点访问一次,O(n)O(n)空间复杂度:不计算调栈,O(1)O(1);计算调栈O(h)O(h),h为最大深度 1 ...
分类:
其他好文 时间:
2020-05-03 14:41:18
阅读次数:
53
详细内容看课本吧 第二章线性表 线性表是一种最简单的线性结构。 基本特征: 线性结构是一个数据元素的有序(次序)集 集合中必存在唯一的一个“第一元素” 集合中必存在唯一的一个“最后元素” 除最后元素在外,均有唯一的后继 除第一元素之外,均有唯一的前驱 在长度为n的线性表中插入一个元素所需移动元素的的 ...
分类:
编程语言 时间:
2020-05-03 10:28:58
阅读次数:
88
我的LeetCode:https://leetcode cn.com/u/ituring/ 我的LeetCode刷题源码[GitHub]:https://github.com/izhoujie/Algorithmcii LeetCode 面试题03. 数组中重复的数字 题目 找出数组中重复的数字。 ...
分类:
编程语言 时间:
2020-05-02 20:33:36
阅读次数:
59
? 第一次解题思路: 遍历数组,将数字和出现的次数装到map集合 遍历map集合,取到题目要求值 (其实不能用Map(空间复杂度O(n))) 优化 解题思路:分组位运算 ? 题目要求时间复杂度O(n),空间复杂度为O(1),因此不能用map(空间复杂度O(n)) ? 代码如下: ...
分类:
编程语言 时间:
2020-05-02 18:54:22
阅读次数:
53
题目: 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Refere ...
分类:
其他好文 时间:
2020-05-01 18:58:52
阅读次数:
53
目录 内容 一:数据结构 1:数据逻辑结构 1.1: 集合 1.2: 线性结构:队列,栈,数组,字符串,一对一的关系 1.3: 树形结构:一对多的关系。 1.4: 图形结构:多对多的关系。 2:物理存储结构 2.1:顺序存储结构 2.2:链式存储结构 注意 结论 ...
分类:
编程语言 时间:
2020-05-01 15:01:25
阅读次数:
70
import java.util.Arrays;/** * Partition * 给定一个数组和一个整数num,请把小于等于num的数放在数组的左边,大于num的数放在数组的右边(不要求整体有序) * 要求额外空间复杂度O(1),时间负责度O(N) */public class Partition ...
分类:
编程语言 时间:
2020-05-01 14:39:20
阅读次数:
69
/** * * 问题:括号字符串的最长有效长度 * 给定一个括号字符串返回最长的有效字符串子串 * * 分析: * 用动态规划求解,可以做到时间复杂度为O(N), 额外空间复杂度为O(N)。 * 首先生成长度和str字符串一样的数组dp[],dp[i]值的含义为str[O .. i]中必须以字符st ...
分类:
其他好文 时间:
2020-05-01 14:32:39
阅读次数:
50
题目描述 给定一个大小为 n 的数组,找出其中所有出现超过 ? n/3 ? 次的元素。 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。 示例: 题目链接: https://leetcode cn.com/problems/majority element ii/ 做这题之前要先做 ...
分类:
编程语言 时间:
2020-05-01 01:16:59
阅读次数:
59