Yuming's Personal Website

爱你所爱,行你所行;听从你心,无问西东。

Binary Search Exercise 2

Binary Search Exercise 2 33. Search in Rotated Sorted Array 难度中等2069 There is an integer array nums sorted in ascending order (with distinct values). Prior to being passed to your function, num...

Array/String Exercise 2

Array/String Exercise 2 (计算贡献828-2104) 828. 统计子串中的唯一字符 难度困难109 我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。 例如:s = "LEETCODE" ,则其中 "L", "T","C","O","D" 都是唯一字符,因为它们只出现一次,所以 countUn...

Some advice received from Prof. Sherr

Some advice received from Prof. Sherr I have great respect for Prof. Sherr, he is intelligent, patient, responsible, and knowledgeable. Honestly, I think he’s the best professor I’ve ever seen at...

Trie Exercise 1

Trie Exercise 1 前缀树 ,又称 字典树 ,是 N 叉树 的特殊形式 前缀树的插入和搜索 实际应用 I 前缀树广泛应用于 存储 字符串和 检索 关键字,特别是和 前缀 相关的关键字。 自动补全 一个简单的实现自动补全的方法是在前缀树中存储ngram,并根据词频进行搜索推荐。请仔细思考,什么是解决这个问题的理想的节点结构。 拼写检查(添加与搜索单词 - 数据...

Graph Exercise 1

Graph Exercise 1 图的深度优先搜索: 深度优先遍历有「回头」的过程,在树中由于不存在「环」(回路),对于每一个结点来说,每一个结点只会被递归处理一次。而「图」中由于存在「环」(回路),就需要 记录已经被递归处理的结点(通常使用布尔数组或者哈希表),以免结点被重复遍历到。 图的广度优先遍历: 在 无权图 中,由于广度优先遍历本身的特点,假设源点为 source,只...

Two Pointers Exercise 1

Two Pointers Exercise 1 27. 移除元素 难度简单1132 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是整数,但输...

Backtracking Exercise 1

Backtracking Exercise 1 回溯算法是一种通过不断 尝试 ,搜索一个问题的一个解或者 所有解 的方法。在求解的过程中,如果继续求解不能得到题目要求的结果,就需要 回退 到上一步尝试新的求解路径。回溯算法的核心思想是:在一棵 隐式的树(看不见的树) 上进行一次深度优先遍历。 问「一个问题 所有的 解」一般考虑使用回溯算法。因此回溯算法也叫「暴力搜索」,但不同于最...

Heap & Stack & Queue Exercise 1

Heap & Stack & Queue Exercise 1 堆(Heap) 优先队列 是一种抽象的数据类型,而 堆 是一种数据结构。所以 堆 并不是 优先队列 , 堆 是实现 优先队列 的一种方式。 实现 优先队列 的方式有很多种,比如数组和链表。但是,这些实现方式只能保证插入操作和删除操作中的一种操作可以在 O(1)的时间复杂度内...

Binary Search Exercise 1

Binary Search Exercise 1 二分查找中使用的术语: 目标 Target —— 你要查找的值 索引 Index —— 你要查找的当前位置 左、右指示符 Left,Right —— 我们用来维持查找空间的指标 中间指示符 Mid —— 我们用来应用条件来确定我们应该向左查找还是向右查找的索引 时间:O(log n) —— 算法时间 因为二分查找...

Hash Table Exercise 1

Hash Table Exercise 1 哈希表是根据关键码的值而直接进行访问的数据结构。 242. 有效的字母异位词 & 剑指 Offer II 032. 有效的变位词 难度简单472 给定两个字符串 *s* 和 *t* ,编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 注意:若 *s* 和 *t* 中每个字符出现的次数都相同,则称 *s* 和 *t* 互为...