摘要:
你一个数组 points 和一个整数 k 。数组中每个元素都表示二维平面上的点的坐标,并按照横坐标 x 的值从小到大排序。 也就是说 points[i] = [xi, yi] ,并且在 1 >& points, int k) { deque q; int n = points.size(); int 阅读全文
摘要:
给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组。 返回 A 的正方形排列的数目。两个排列 A1 和 A2 不同的充要条件是存在某个索引 i,使得 A1[i] != A2[i]。 ###1. 回溯法 ``` class Solution { public 阅读全文
摘要:
给你一个二维整数数组 intervals ,其中 intervals[i] = [lefti, righti] 表示第 i 个区间开始于 lefti 、结束于 righti(包含两侧取值,闭区间)。 区间的长度定义为区间中包含的整数数目,更正式地表达是 righti - lefti + 1 。 再给 阅读全文
摘要:
给你一个字符串 word 和一个字符串数组 forbidden 。 如果一个字符串不包含 forbidden 中的任何字符串,我们称这个字符串是 合法 的。 请你返回字符串 word 的一个 最长合法子字符串 的长度。 ###1. 哈希 ``` class Solution { public: in 阅读全文
摘要:
给定一个无向、连通的树。树中有 n 个标记为 0...n-1 的节点以及 n-1 条边 。 给定整数 n 和数组 edges , edges[i] = [ai, bi]表示树中的节点 ai 和 bi 之间有一条边。 返回长度为 n 的数组 answer ,其中 answer[i] 是树中第 i 个节 阅读全文
摘要:
给你一个下标从 0 开始的整数数组 nums 和一个正整数 k 。 你可以对数组执行下述操作 任意次 : 从数组中选出长度为 k 的任一子数组,并将子数组中每个元素都减去 1 如果你可以使数组中的所有元素都等于 0 ,返回 true ,否则,返回 false。 ###1. 差分数组 从左往右贪心进行 阅读全文
摘要:
在第 1 天,有一个人发现了一个秘密。 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后,每天 给一个新的人分享秘密。 同时给你一个整数 forget ,表示每个人在发现秘密 forget 天之后会 忘记 这个秘密。一个人不能在忘记秘密那一天及之后的日子里分享秘密。 ### 阅读全文
摘要:
一个块定义为网格图中 2 x 2 的一个子矩阵 请你返回一个下标从 0 开始长度为 5 的整数数组 arr ,arr[i] 表示恰好包含 i 个 黑色格子的块的数目 ###1. 搜索黑格子周围格子 ``` class Solution { public: int dir[4][2] = {{-1,- 阅读全文
摘要:
一个长度为 n 下标从 0 开始的整数数组 arr 的 不平衡数字 定义为,在 sarr = sorted(arr) 数组中,满足以下条件的下标数目: * 0 1 这里,sorted(arr) 表示将数组 arr 排序后得到的数组。 给你一个下标从 0 开始的整数数组 nums ,请你返回它所有子数 阅读全文