利用rand7()构造rand10()及其一些推广 今天看到一个群里有人说自己面试的题目,是利用 rand5() 来生成 rand3() ,刚看到我还懵了一下,真不会唉,而且涉及概率还是有点让人瑟瑟发抖的…… 然后我还是花时间 Google 了一下,网上很多类似的 randA() 生成 randB() 的,大概是说利用 rand7() 构造 rand10() 是头条的一个面试题。然后我就学习了一下。 利用 rand7() 构造 rand10()思路 2020-03-28 #算法
Leetcode 914.卡牌分组【C++】 地址:https://leetcode-cn.com/problems/x-of-a-kind-in-a-deck-of-cards/ 题目给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X>= 2 时返回 true。 示例 1: 输入:[1, 2020-03-27 Leetcode #Leetcode #C++
Leetcode 999.车的可用捕获量【C++】 地址:https://leetcode-cn.com/problems/available-captures-for-rook/ 题目在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。 车按国际象棋中的规则移动:它选择四个基本方向中 2020-03-26 Leetcode #Leetcode #C++
Leetcode 892.三维形体的表面积【C++】 地址:https://leetcode-cn.com/problems/surface-area-of-3d-shapes/ 题目在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 示例 1: 输入:[[2]] 输出:10 示例 2: 输入:[[1 2020-03-25 Leetcode #Leetcode #C++
Leetcode 面试题 17.16.按摩师【C++】 地址:https://leetcode-cn.com/problems/the-masseuse-lcci/ 题目一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。 注意:本题相对原题稍作改动 示例 1: 输入: [1,2,3,1] 2020-03-24 Leetcode #Leetcode #C++ #动态规划
Leetcode 876.链表的中间结点【C++】 地址:https://leetcode-cn.com/problems/middle-of-the-linked-list/ 题目给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 2020-03-23 Leetcode #Leetcode #C++
Leetcode 945.使数组唯一的最小增量【C++】 地址:https://leetcode-cn.com/problems/minimum-increment-to-make-array-unique/ 题目给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1。 返回使 A 中的每个值都是唯一的最少操作次数。 示例 1: 输入:[1,2,2] 输出:1 解释:经过一次 move 操作,数组将变为 [1, 2, 3]。 2020-03-22 Leetcode #Leetcode #C++
Leetcode 365.水壶问题【C++】 地址:https://leetcode-cn.com/problems/water-and-jug-problem/ 题目有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水? 如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。 你允许: 装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水,直到装满或者倒 2020-03-21 Leetcode #Leetcode #C++
Leetcode 面试题40.最小的k个数【C++】 地址:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/ 题目输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 示例 2: 输入:arr = [ 2020-03-21 Leetcode #Leetcode #C++
Leetcode 409.最长回文串【C++】 地址:https://leetcode-cn.com/problems/longest-palindrome/ 题目给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。 注意:假设字符串的长度不会超过 1010。 示例 1: 输入: "abccccdd" 2020-03-19 Leetcode #Leetcode #C++