樱之恋之家

欢迎来到樱之恋之家,大家有什么说的可以一起探讨哦

398. 随机数索引

给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。 注意: 数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。 示例: int[] nums = new int[] {1,2,3,3,3}; Solution soluti...

2019-09-15 19:54:16

阅读数 4

评论数 0

382. 链表随机节点

给定一个单链表,随机选择链表的一个节点,并返回相应的节点值。保证每个节点被选的概率一样。 进阶: 如果链表十分大且长度未知,如何解决这个问题?你能否使用常数级空间复杂度实现? 示例: // 初始化一个单链表 [1,2,3]. ListNode head = new ListNode(1); ...

2019-09-15 19:29:33

阅读数 4

评论数 0

307. 区域和检索 - 数组可修改(线段树)递归与非递归

给定一个整数数组 nums,求出数组从索引i到j(i≤j) 范围内元素的总和,包含i,j两点。 update(i, val) 函数可以通过将下标为i的数值更新为val,从而对数列进行修改。 示例: Given nums = [1, 3, 5] sumRange(0, 2) -&gt...

2019-09-03 01:28:48

阅读数 8

评论数 0

208. 实现 Trie (前缀树)

实现一个 Trie (前缀树),包含insert,search, 和startsWith这三个操作。 示例: Trie trie = new Trie(); trie.insert("apple"); trie.search("apple"); //...

2019-09-02 14:41:34

阅读数 6

评论数 0

424. 替换后的最长重复字符

给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换k次。在执行上述操作后,找到包含重复字母的最长子串的长度。 注意: 字符串长度 和 k 不会超过104。 示例 1: 输入: s = "ABAB", k = 2 输出: 4 ...

2019-09-02 13:00:04

阅读数 4

评论数 0

LeetCode -- reference binding to null pointer of type 'value_type'

产生原因: 1.对于一些stl和一些数据结构掌握不准确。 2.忽视判断条件。 a.数组越界,在对vector初始化的时候没有初始化到合适大小,而在接下来的使用中使用了越界的下标。 b.对于vector构建出来的二维数组没有进行空间的申请,比如有些返回类型为vector<ve...

2019-09-01 20:39:30

阅读数 27

评论数 0

200. 岛屿数量

给定一个由'1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入: 11110 11010 11000 00000 输出:1 示例2: 输入: 11000 1...

2019-09-01 20:38:09

阅读数 4

评论数 0

130. 被围绕的区域

给定一个二维的矩阵,包含'X'和'O'(字母 O)。 找到所有被 'X' 围绕的区域,并将这些区域里所有的'O' 用 'X' 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X O ...

2019-09-01 20:19:38

阅读数 3

评论数 0

并查集详解 ——图文解说,简单易懂(转)

并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?) 来看一个实例,HDU1232畅通工程 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后...

2019-09-01 17:15:16

阅读数 7

评论数 0

207. 课程表

现在你总共有 n 门课需要选,记为0到n-1。 在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习? 示例 1: 输入: 2, [[1,0]] 输出: ...

2019-08-29 19:33:59

阅读数 9

评论数 0

1117. H2O 生成

现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子。 存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。 氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障...

2019-08-28 14:08:57

阅读数 9

评论数 0

1116. 打印零与奇偶数

假设有这么一个类: class ZeroEvenOdd { public ZeroEvenOdd(int n) { ... } // 构造函数 public void zero(printNumber) { ... } // 仅打印出 0 public void even(printNum...

2019-08-27 23:37:32

阅读数 10

评论数 0

1115. 交替打印FooBar

我们提供一个类: class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0...

2019-08-27 23:14:41

阅读数 10

评论数 0

1114. 按序打印

我们提供了一个类: public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print...

2019-08-27 23:00:58

阅读数 31

评论数 0

分而治之

方法介绍 对于海量数据而言,由于无法一次性装进内存处理,导致我们不得不把海量的数据通过hash映射分割成相应的小块数据,然后再针对各个小块数据通过hash_map进行统计或其它操作。 那什么是hash映射呢?简单来说,就是为了便于计算机在有限的内存中处理big数据,我们通过一种映射散列的方式让...

2019-08-13 22:01:33

阅读数 6

评论数 0

关联式容器

一般来说,STL容器分为: 序列式容器(vector/list/deque/stack/queue/heap),和关联式容器。 其中,关联式容器又分为set(集合)和map(映射表)两大类,以及这两大类的衍生体multiset(多键集合)和multimap(多键映射表),这些容器均以RB-tr...

2019-08-13 21:52:55

阅读数 7

评论数 0

B树

1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其...

2019-08-13 21:33:02

阅读数 6

评论数 0

最大连续子数组和

题目描述 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值,要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, 因此...

2019-08-13 21:01:16

阅读数 7

评论数 0

寻找最小的k个数

题目描述 输入n个整数,输出其中最小的k个。 分析与解法 解法一 要求一个序列中最小的k个数,按照惯有的思维方式,则是先对这个序列从小到大排序,然后输出前面的最小的k个数。 至于选取什么的排序方法,我想你可能会第一时间想到快速排序(我们知道,快速排序平均所费时间为n*logn),然后再遍...

2019-08-13 20:52:17

阅读数 14

评论数 0

字符串的全排列

题目描述 输入一个字符串,打印出该字符串中字符的所有排列。 例如输入字符串abc,则输出由字符a、b、c 所能排列出来的所有字符串 abc、acb、bac、bca、cab 和 cba。 分析与解法 解法一、递归实现 从集合中依次选出每一个元素,作为排列的第一个元素,然后对剩余的元素进行...

2019-08-13 20:48:58

阅读数 6

评论数 0

提示
确定要删除当前文章?
取消 删除