题目描述 我们可以用2\ 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2\ 1的小矩形无重叠地覆盖一个2 n的大矩形,总共有多少种方法? 思路 斐波那契问题。 时间复杂度O(n),空间复杂度O(1)。 代码 java public class Solution { public int Rec ...
分类:
其他好文 时间:
2020-02-16 21:02:37
阅读次数:
81
面试题03. 数组中重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 思路:1. 利用字典,时间复杂度O(n),空间复杂度O(n) class Sol ...
分类:
其他好文 时间:
2020-02-14 22:52:28
阅读次数:
100
主要内容:1 数据结构的基本概念和一些专业术语 2 抽象数据类型的表示与实现 3 算法分析(时间和空间复杂度)和评价算法优劣的标准 具体: 数据:不仅仅是数字,还包括各种符号。是所有能输入到计算机并能被计算机程序处理的符号的总称。 数据元素:是数据的基本单位。在计算机中通常作为一个整体进行考虑和处理 ...
分类:
其他好文 时间:
2020-02-14 01:19:52
阅读次数:
192
直接插入排序法:将一个记录插入到已经排好序的有序表中,从而得到一个新的记录数据的有序表。 空间复杂度:需要一个记录的辅助空间; 时间复杂度:O(n^2) 代码片段: public class StraightInsertSort { public static void main(String[] ...
分类:
编程语言 时间:
2020-02-13 14:57:41
阅读次数:
75
最开始想的方法用一个vector存下这颗树的中序遍历,然后看这个vector是否严格升序。这里空间复杂度高了,实际上在递归遍历 二叉树的时候,设定好每个节点的上界和下界,在界限内就ok了,正常递归就可以了。 AC代码: class Solution { public: // 加一个界限 bool i ...
分类:
其他好文 时间:
2020-02-12 18:50:54
阅读次数:
73
将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z字形排列。 比如输入字符串"LEETCODEISHIRING"行数为3时,排列如下: 之后,你的输出需要从左往右逐行读取,产生一个新的字符串,比如"LCIRETOESIIGEDHN" 题解 这个思想很奇妙,时间复杂度和空间复杂度都是O(n), ...
分类:
其他好文 时间:
2020-02-12 14:36:36
阅读次数:
74
题目 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n 1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 ...
分类:
编程语言 时间:
2020-02-12 14:31:38
阅读次数:
152
使用环状替换 Leetcode189 一、题目 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 ...
分类:
其他好文 时间:
2020-02-11 19:29:36
阅读次数:
112
1 冒泡排序 时间复杂度 O(n²) 。额外空间复杂度O(1)。 1)算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的 ...
分类:
编程语言 时间:
2020-02-11 14:22:41
阅读次数:
57