摘要:一、题目:字符串解码 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合
阅读全文
摘要:一、题目:同构字符串 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 示例 1: 示例 2: 示例 3: 说明:
阅读全文
摘要:一、题目: 给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。 (注:分数越高的选手,排名越靠前。) 示例 1: 提示: 二、思
阅读全文
摘要:目录 有效的括号字符串(1) 有效的括号字符串(2) 有效的括号字符串(3)【三种题型】 括号最长有效长度 括号的分数(LeetCode856) 括号生成(LeetCode22) 字符串解码,去除括号(python) 括号匹配判断 题目、有效的括号字符串(1):【两个栈】 给定一个只包含三种字符的字
阅读全文
摘要:1、题目: 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。 说明: 字母异位词指字母相同,但排列不同的字符串。 不考虑答案输出的顺序。 示例 1: 示例 2
阅读全文
摘要:1、题目: 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: 2、思路: 先拿的那位只要每两次都保证
阅读全文
摘要:一、题目:赎金信(一个字符串字母是不是都在另一个字符串中) 给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。 (题目说明:为了不暴露赎
阅读全文
摘要:1、题目: 你将得到一个字符串数组 A。 如果经过任意次数的移动,S == T,那么两个字符串 S 和 T 是特殊等价的。 一次移动包括选择两个索引 i 和 j,且 i%2 == j%2,并且交换 S[j] 和 S [i]。 现在规定,A 中的特殊等价字符串组是 A 的非空子集 S,这样不在 S 中
阅读全文
摘要:1、题目: 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则
阅读全文
摘要:1、题目: 3 x 3 的幻方是一个填充有从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的 N × N 矩阵,其中有多少个 3 × 3 的 “幻方” 子矩阵?(每个子矩阵都是连续的)。 示例 1: 提示: 2、思路: 假设幻方:
阅读全文
摘要:1、题目: 包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。 示例 1: 注意: 2、思路: 重点在采用额外的空间来去掉重复部分。 3、
阅读全文
摘要:1、题目 如果数组是单调递增或单调递减的,那么它是单调的。 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。 当给定的数组 A 是单调数组时返回 true,否则返回 false。 示
阅读全文
摘要:一、表面积 1、题目: 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。 返回结果形体的总表面积。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 提示: 1 <= N <=
阅读全文
摘要:1、题目:最大三角形面积 给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。 注意: 3 <= points.length <= 50. 不存在重复的点。 -50 <= points[i][j] <= 50. 结果误差值在 10^-6 以内都认为是正确答案。 2、思路:
阅读全文
摘要:1、题目: 给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。 在执行给
阅读全文
摘要:1、题目: 在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字。 注意: n 是正数且在32为整形范围内 ( n < 231)。 示例 1: 示例 2: 2、思路: 位数相加,N - 位数。 3、代码
阅读全文
摘要:目录: 技巧: 应用技巧1:x&(x-1)【消除x(二进制)最后一位1】 判断是否为2的幂 判断是否为2的幂 判断是否为2的幂 判断是否为2的幂 应用技巧2:<<左移【除2】 判断是否为2的幂 判断是否为4的幂 判断是否为2的幂 判断是否为4的幂 判断是否为2的幂 判断是否为4的幂 判断是否为2的幂
阅读全文
摘要:一、案例1题目:(大数据加位运算) 、 分析: 布隆过滤器: bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。 和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储一个标志,用来判断key是否在集合中。
阅读全文
摘要:1、题目: 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 示例 1: 示例 2: 示例 3: 2、代码:
阅读全文
摘要:一、题目: 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。) 示例 1: 对于上面这个给定矩阵应返
阅读全文