随笔分类 - 算法题
摘要:题目链接:https://leetcode-cn.com/problems/unique-paths/ 题意:有一个m*n的地图,问从左上角到右下角有多少中路径。 分析:直接用组合,就是C(m+n-2,n)的值。 class Solution { public: int uniquePaths(in
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/split-array-into-fibonacci-sequence/ 题意:给你一个数字字符串,问能否把这个数字字符串分成一个斐波那契数列,斐波那契数列的要求是:序列长度大于3、每个数都在int范围内、满足f(n-2)+
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/score-after-flipping-matrix/ 题意:给一个二维的01矩阵,可以任意翻转某一行和某一列(将该行/列的01互换),最后计数时以将每一行当做一个二进制数,每行相加就是总的分数,求最大分数为多少。 分析:
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/split-array-into-consecutive-subsequences/ 题意:给你一个有序数组,是否可以将这个数组分成1个或多个序列,每个序列都是长度大于等于3的连续整数数组。 分析:用贪心的思想,对一个数x来
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/count-primes/ 题意:求小于n的数有多少质数 分析:没啥可分析的 class Solution { public: static bool rule(int x){ for(int i=2;i*i<=x;i++)
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/reverse-integer/ 题意:整数反转 分析:有点麻烦,因为控制了边界,还得判断反转后是否超出了32位的范围。 class Solution { public: int reverse(int x) { int r
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/ 题意:给你一个有序数组和一个target值,让求target值出现的第一次位置和最后一次位置。 分析:二分很明
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/reorganize-string/ 题意:给你一个字符串,问是否可以把字符串重新排列,使得任意相邻字母不同。 分析:不存在的情况就是出现次数最多的字母超过了ceil(len/2)。 排字母时要注意一个极限情况,就是字符串长
阅读全文
摘要:题目太脑瘫了,一两分钟就写完了,今天可以轻松下。 啊不对,今天机器学习第三周截止,滚去刷机器学习了
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/reverse-pairs/ 题意:给你一个数组,求满足i<j且nums[i]>2*num[j]的(i,j)对的数量 分析:本质上,就是对数组中的每一个元素,统计位于它左侧或右侧,且取值位于某个区间内的值的数量,和leetc
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/4sum-ii/ 题意:给你四个长度相同(最大为500)的无序数组,求问从每个数组中取出一个数,相加为和的方法一共有多少。 分析:我本来想的是CD数组的所有情况直接构成一个新数组e再排序,然后AB数组遍历得到的结果在e中二分
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/maximum-gap/submissions/ 题意:给一个无序的数组,让你求排完序后的数组,相邻两值的差值最大为多少,时间和空间复杂度要求线性(O(N))。 分析:主要是排序,像快排和归并排序都是O(nlogn)的,不满
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/increasing-decreasing-string/ 题意:给你一个包含26个字母的字符串让你构造一个新的字符串,规则是先提出最小的字符(这些字符间不能相同)放进新字符串,再从剩下的字符里提出最大的字符(也不能相同)放
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/count-complete-tree-nodes/ 题意:利用完全二叉树的性质,求完全二叉树的结点数。 分析:如果是单纯的二叉树,直接用dfs或者bfs。针对本题,首先我们得知道完全二叉树的性质是:除了最下面一层,中间每层
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/minimum-number-of-arrows-to-burst-balloons/ 题意:给多个区间,求最少需要多少点,可以使得每个区间内都包含至少一个点。 分析:按照右区间从小到大排序,每次都将点放在最小的右区间上。
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/valid-anagram/ 题意:判断两个字符串是否是字母都相同,只是顺序不同 分析:非常脑瘫,直接排序。。。 class Solution { public: bool isAnagram(string s, strin
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/sort-list/ 题意:要求以O(nlogn)的复杂度给一个链表排序 分析:昨天那道题的升级版,这里用的是归并排序的思想,自顶向下的排序,从一开始完整的链表不断的每次分成两段,分到每段只有一个结点为止,再一点点的合并,要
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/insertion-sort-list/ 题意:对一个链表进行选择排序 分析:直接就是O(n^2)的做法,从头到尾遍历 /** * Definition for singly-linked list. * struct Li
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/move-zeroes/submissions/ 题意:给你一个包含若干个0的数组,要求把所有的0移动到后面,且保持其他数相对顺序不变。 分析:第一个方法是遇到0就把后一位移过来,最后还剩多少位为空就在空的位置补0 第二个方
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/gas-station/ 题意:有n个加油站环形排列,每个加油站都可以获得数量为gas[i]的石油,但从该加油站出发抵达下一加油站需要消耗cost[i]的石油,问能否从一个加油站出发再回到该加油站,如果可以,输出序号最小的加
阅读全文