上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 35 下一页
摘要: Q: 一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。 有些房间由恶 阅读全文
posted @ 2020-02-18 14:29 NeoZy 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15 阅读全文
posted @ 2020-02-18 13:20 NeoZy 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Q: 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。 A: 注意一点,题目说的序列长度是有几个连续+1的数。 然后题目 阅读全文
posted @ 2020-02-18 13:09 NeoZy 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 主要是记录一下这个数据结构。 比如这个trie树,包含三个单词:sea,sells,she。 代码: 1 class Trie { 2 bool isWord; 3 vector<Trie*> children; 4 public: 5 /** Initialize your data struct 阅读全文
posted @ 2020-02-17 22:50 NeoZy 阅读(165) 评论(0) 推荐(0) 编辑
摘要: C++11之后允许对非静态成员变量进行初始化(in-class initialization),不过对于非fundamental(非基本数据)类型需要采用的是initializer_list来实现的 所以如下代码是错误的: class A{ public: int x=1; string s="qw 阅读全文
posted @ 2020-02-17 15:58 NeoZy 阅读(2570) 评论(0) 推荐(1) 编辑
摘要: 题目: 给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。 示例 1: 输入: nums = [1,2,3,1], k = 3, t = 0输出: true示例 2: 输入 阅读全文
posted @ 2020-02-17 15:45 NeoZy 阅读(261) 评论(0) 推荐(0) 编辑
摘要: https://leetcode-cn.com/problems/generate-parentheses/ 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n = 3,生成结果为: [ "((()))", "(()())", "(())()" 阅读全文
posted @ 2020-02-17 15:43 NeoZy 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O 阅读全文
posted @ 2020-02-17 15:42 NeoZy 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 双指针最基础的题目是一个区间里找两个数字的和等于Target。首先将区间从小到大排序。接下来只要一个le指针,一个ri指针,分别从区间左右边界往中间推进即可。复杂度是排序的nlogn。 下面几道题都是一个区间里找三个数字的和满足xx条件的。这个题目的做法首先还是先排序。之后先固定一个数字,然后在该数 阅读全文
posted @ 2020-02-17 15:40 NeoZy 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 3. 无重复字符的最长子串 A: 要找最长的无重复子串,所以用一个map保存出现过的字符,并且维持一个窗口,用le和ri指针标识。ri为当前要遍历的字符,如果ri字符在map中出现过,那么将le字符从map移除,le++。如果ri字符没出现过,那ri++,并更新最大无重复子串长度。全程利用map保持 阅读全文
posted @ 2020-02-17 15:38 NeoZy 阅读(690) 评论(0) 推荐(0) 编辑
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 35 下一页