旋转数组的三种方法

力扣

  

2019-12-12 10:52:49

力扣 189 给定一个数组,将数组中的元素向右移动 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 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] 示例 2: 输入: [-1,-100,3,...

这周做出来 2 题。 第 1 题调试了很久,后来才发现,原来只需要一个 if 和 else 就解决了; 第 2 题暴力做的,没有想到异或也适用于前缀和; 第 3 题就是基础不好了,是几个基础问题的综合题; 第 4 题这周刚刚总结过回文子串和动态规划的技巧,中午趴在桌子上睡一觉,居然还就找出原因了,打印出 dp 数组看了一眼,就发现状态转移出错了。 感谢朋友“大肥凯”的鼓励,...

559.N叉树的最大深度

力扣

  

2020-02-10 02:18:46

给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 例如,给定一个 3叉树 : 我们应返回其最大深度,3。 说明: 树的深度不会超过 1000。 树的节点总不会超过 5000。 来源:力扣(LeetCode) 这题咋说呢,内心是非常复杂的。 第一次独立写出这递归题。 同时也知道了力扣的测评姬是真的,看人。。。。 当然了,这题用队列层序遍历也可。...

872.叶子相似的树

力扣

  

2020-02-11 10:16:46

请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。 举个例子,如上图所示,给定一颗叶值序列为 (6, 7, 4, 9, 8) 的树。 如果有两颗二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。 如果给定的两个头结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。 提示: 给定的两颗树可能会有 1 到 100 ...

力扣5 最长回文子串

力扣

  

2020-03-07 11:08:15

vector<vector<bool>>dp(len,vector(len));//二维动态数组的初始化要注意 因为一个二维向量vector<vector >,初始只能确定列数,但是无法确定行数 所以需要明确说明行数 一般有下列俩中初始化方法...

组合总和 III 这道题看了之后第一反应是使用 回溯+减枝,其实遇到这种类型的题,初看可能感觉无从下手,但是只要耐心画一下它的递归树就会很清晰: 由于题目要求list中不允许出现重复数字,所以我们需要传递一个下标,防止元素重复选取,代码如下:...

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 法一:分治法 想法 & 算法 1.将k 个链表配对并将同一对中的链表合并。 2.第一轮合并以后,k 个链表被合并成了 k/2个链表,平均长度为 2N}/k,然后是 k/4个链表, k/8个链表等等。 3.重复这一过程,直到我们得到了最终的有序链表。 python: 法二:两两合并链表 整体时间复杂度为O(N*l...

BFS

力扣

  

2020-03-18 02:03:52

文章目录 BFS 一、二进制矩阵中的最短路径 二、完全平方数 三、单词接龙 BFS (1)BFS的问题一般都会选用队列方式实现; (2)代码模板如下: 一、二进制矩阵中的最短路径 在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1)。 一条从左上角到右下角、长度为 k 的畅通路径,由满足下述条件的单元格 C_1, C_2, …, C_k 组成: ...

零钱的兑换

力扣

  

2020-03-22 08:06:29

题目: 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例: 示例 1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5 + 1 示例 2: 输入: coins = [2], amount = 3 输出: -1 思想...

和为S的整数序列

力扣

  

2020-03-22 12:24:47

【题目:】 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 【示例1:】 输入:target = 9 输出:[[2,3,4],[4,5]] 【示例2:】 输入:target = 15 输出:[[1,2,3,4,5],[4,5,6],[7,8]] 【解题思路:】 暴力法 从题目我们可以看到,...