- 博客(25)
- 收藏
- 关注
原创 leetcode. 870. Advantage Shuffle (优势洗牌)
题目:给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。返回 A 的任意排列,使其相对于 B 的优势最大化。 示例 1:输入:A = [2,7,11,15], B = [1,10,4,11]输出:[2,11,7,15]示例 2:输入:A = [12,24,8,32], B = [13,25,32,11]输出:[24,...
2018-07-15 12:42:33 1648
原创 leetcpde 869. Reordered Power of 2 (重新排序得到 2 的幂)
题目:从正整数 N 开始,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。 示例 1:输入:1输出:true示例 2:输入:10输出:false示例 3:输入:16输出:true示例 4:输入:24输出:false示例 5:输入:46输出:true 提示:1 <= N &...
2018-07-15 11:29:52 441
原创 leetcode 868. Binary Gap(二进制间距)
题目:给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 示例 1:输入:22输出:2解释:22 的二进制是 0b10110 。在 22 的二进制表示中,有三个 1,组成两对连续的 1 。第一对连续的 1 中,两个 1 之间的距离为 2 。第二对连续的 1 中,两个 1 之间的距离为 1 。答案取两个距离之中最大的...
2018-07-15 11:20:46 1316
原创 leetcode 856. 括号的分数
题目:我的提交返回竞赛用户通过次数66用户尝试次数84通过次数69提交次数120题目难度Medium给定一个平衡括号字符串 S,按下述规则计算该字符串的分数:() 得 1 分。AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。(A) 得 2 * A 分,其中 A 是平衡括号字符串。 示例 1:输入: "()"输出: 1示例 2:输入: "(())"输出: 2示例 3:输入: "...
2018-06-24 12:27:55 1329
原创 855. 考场就座
题目:在考场里,一排有 N 个座位,分别编号为 0, 1, 2, ..., N-1 。当学生进入考场后,他必须坐在能够使他与离他最近的人之间的距离达到最大化的座位上。如果有多个这样的座位,他会坐在编号最小的座位上。(另外,如果考场里没有人,那么学生就坐在 0 号座位上。)返回 ExamRoom(int N) 类,它有两个公开的函数:其中,函数 ExamRoom.seat() 会返回一个 int (...
2018-06-17 15:55:12 1091
原创 leetcode 853. 车队
题目: N 辆车沿着一条车道驶向位于 target 英里之外的共同目的地。每辆车 i 以恒定的速度 speed[i] (英里/小时),从初始位置 position[i] (英里) 沿车道驶向目的地。一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。车队 是一些由行驶在相同位置、具有相同速...
2018-06-17 15:13:37 1287 1
原创 leetcode 848. 字母移位
题目:有一个由小写字母组成的字符串 S,和一个整数数组 shifts。我们将字母表中的下一个字母称为原字母的 移位(由于字母表是环绕的, 'z' 将会变成 'a')。例如·,shift('a') = 'b', shift('t') = 'u',, 以及 shift('z') = 'a'。对于每个 shifts[i] = x , 我们会将 S 中的前 i+1 个字母移位 x 次。返回将所有这些移位都...
2018-06-10 11:15:46 898
原创 leetcode 849. 到最近的人的最大距离
题目:在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。至少有一个空座位,且至少有一人坐在座位上。亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。返回他到离他最近的人的最大距离。示例 1:输入:[1,0,0,0,1,0,1]输出:2解释:如果亚历克斯坐在第二个空位(seats[2])上,他到离他最近的人的距离为 2 。如果亚历克斯坐在其它任...
2018-06-10 11:09:09 2032
原创 leetcode 799. 香槟塔 (Champagne Tower)
题目:我们把玻璃杯摆成金字塔的形状,其中第一层有1个玻璃杯,第二层有2个,依次类推到第100层,每个玻璃杯(250ml)将盛有香槟。从顶层的第一个玻璃杯开始倾倒一些香槟,当顶层的杯子满了,任何溢出的香槟都会立刻等流量的流向左右两侧的玻璃杯。当左右两边的杯子也满了,就会等流量的流向它们左右两边的杯子,依次类推。(当最底层的玻璃杯满了,香槟会流到地板上)例如,在倾倒一杯香槟后,最顶层的玻璃杯满了。倾倒...
2018-06-10 10:21:08 2080
原创 2018 CodeM初赛A轮 .编程1 (A题) (第一道题)
这道题,题目叙述的很啰嗦,不过做法很简单,就是建一个表,其实最短距离就是求曼哈顿距离。写表的时候繁琐,不过也没办法,谁叫我们是程序员呢。代码如下://// main.cpp// codeM初赛1//// Created by Mr Gao on 2018/6/9.// Copyright © 2018年 Mr Gao. All rights reserved.//#include...
2018-06-10 00:18:29 675
原创 2018 CodeM初赛A轮 下棋答案(B题) (第二道题)
题目: 有一个1*n的棋盘, 上面有若干个棋子,一个格子上可能有多个棋子, 你每次操作是先选择一个棋子,然后选择一下两个操作中的一个: (1)若该棋子不在(1,1),让这个棋子往左走一格,即从(1,x)走到(1,x - 1); (2)若该棋子不在(1,n),且这个棋子曾静到达过(1,1),让这个格子往右走一格,即从(1,x)走到(1,x+1...
2018-06-10 00:04:48 997
原创 leetcode 500. 键盘行 (很简单,就是要保存每一行的字母的值,写起来很繁琐)
题目解析:每个单词如果都在一行,就假如ret,如果有个字符和第一个字符不在一行,就break,接着判断下一个。class Solution {public: vector<string> findWords(vector<string>& words) { long len = words.size(); if(len == 0) ...
2018-06-05 10:46:38 674
原创 leetcode 496. 下一个更大元素 I (很简单)
题目解析: 按照题目意思做就好了,先定义一个hash,存储nums的坐标,然后按照找后面第一个比fundnums大的元素,就好了。代码:class Solution {public: vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) { ...
2018-06-05 10:08:18 1199
原创 leetcode 461. 汉明距离
很简单的位运算的计算,不多说了,solution前面几行是c++的输入输出加速,不必理会。static int x = [](){ ios::sync_with_stdio(false); cin.tie(0); return 0;}();class Solution {public: int hammingDistance(int x, int y) { i...
2018-06-04 11:08:21 433
原创 leetcode 458. 可怜的小猪 及 题目的不严谨
这道题很有意思,感觉是之前老鼠喝毒药的进阶版,增加了个时间属性,不错解法差不多,主要是看看在测试时间内,有多少批猪死亡,例如:60分钟内,死亡时间为15,则增加了4个状态,则变成了5个状态,所以就要对log(1000) / log(5)上取整,有这么多头猪就可以了。class Solution {public: int poorPigs(int buckets, int minutesToD...
2018-06-03 20:29:16 2184 3
原创 leetcode 455. 分发饼干
贪心法的简单应用,排序完后,每次都把最小的分给最小胃口的孩子。开始几行是c++的输入输出加速,可以不必理会,只看solution 里的内容即可。static int x = [](){ ios::sync_with_stdio(false); cin.tie(0); return 0;}();class Solution {public: int findContentCh...
2018-06-03 18:59:05 577
原创 leetcode 453. 最小移动次数使数组元素相等
先按照题目意思,根据题目要求的步骤,自己写了一个小程序,这样做肯定会超时,对总结规律,很有帮助。小程序如下:(在第6个用例的时候,果然超时了)class Solution {public: int minMoves(vector<int>& nums) { long len = nums.size(); if(len == 1) ...
2018-06-03 17:31:37 1586
原创 leetcode.447 回旋镖的数量
这道题,有几点:1、首先固定一个点,然后求其他点到这个点的距离集合,2、在这个距离集合中,相等距离的有m个,则回旋镖数就有组合C(m, 2) * 2个,3、回到步骤1有个优化的方法,在存储距离的时候,可以使用map来存储,来减少求相等距离的时间,效率提高的还是特别大的方法一,不适用map来存距离,用vector存储:class Solution {public: int numberOfBo...
2018-06-03 16:41:37 997
原创 leetcode846. 一手顺子
这道题有几点,1、如果数组长度不能整除分组的大小W,则肯定为false,2、如果能整除的话,需要对数组进行排序,然后判断每组的的数数的差是否为1,那不多说了,排序时间复杂度为o(nlongn), 判断的时间复杂度为o(n),则时间复杂度为o(nlongn)。class Solution {public: bool isNStraightHand(vector<int>&am...
2018-06-03 11:43:35 1180
原创 leetcode.845数组中的最长山脉
没什么好说的,题目简单易懂,中心扩展法的应用。class Solution {public: int longestMountain(vector<int>& A) { long len = A.size(); if(len < 3) return 0; int ret = 0; for(...
2018-06-03 10:10:36 1790
原创 leetcode.844 比较含退格的字符串
这道题相对于前面几道简单难度题,还算比较简单,就是栈的运用,遇到‘#’就出栈,不是就进栈,然后在判断两个处理过后的字符串一样不。class Solution {public: bool backspaceCompare(string S, string T) { stack<char> stk; long len1 = S.size(); ...
2018-06-03 09:44:59 978
原创 leetcode 836 矩形重叠
这道题,正向思维,那肯定是一堆的条件判断,小编根据不停的试错,发现有如下7种情况, 第二行的粉色到红色,属于渐变过程,有两种情况,分开讨论根据上述7中情况:写了如下代码:class Solution {public: bool isRectangleOverlap(vector<int>& rec1, vector<int>& r...
2018-05-31 23:31:53 858
原创 leetcode 840. Magic Squares In Grid
一、题目解析3 x 3 的幻方是一个填充有从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。给定一个由整数组成的 N × N 矩阵,其中有多少个 3 × 3 的 “幻方” 子矩阵?(每个子矩阵都是连续的)。 示例 1:输入: [[4,3,8,4], [9,5,1,9], [2,7,6,2]]输出: ...
2018-05-31 13:08:49 822 2
原创 Leetcode:239. Sliding Window Maximum (c++)
Problem:Given an array nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding ...
2018-04-29 09:06:53 305
原创 卡特兰数:2N个人排队买电影票,N个人持5元买票,N个人持10元买票.售票处在售票前只有票没有钱,票价5元 ,问有多少种排队方式 能让2N个人顺利买票,并且输出所有排队队列(不会因为找钱问题)
分析n = 0 时,队列为空,可以认为只有一种;n = 1 时,队列:5 ,10 共有1种;n = 2 时 ,队列: 5, 10,5,10 5,5,10,10 共有两种n = 3时, 队列:5,5,5,10,10,10 5,5,10,5,10,10 5,...
2018-04-12 09:58:56 7472 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人