摘要: 今天做了三题,对于stl的运用还不是很熟练: 5344. 有多少小于当前数字的数字 给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。 换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] 阅读全文
posted @ 2020-03-01 19:41 swiftAlien 阅读(200) 评论(0) 推荐(0)
摘要: 参考文献:https://www.jianshu.com/p/e59d51e1eef5 单调队列,顾名思义,是一种具有单调性的队列。众所周知,单调性有单调递增和单调递减两种,相应的单调队列也分为单调递增队列和单调递减队列两种。 单调递增队列:保证队列头元素一定是当前队列的最小值,用于维护区间的最小值 阅读全文
posted @ 2020-02-26 22:06 swiftAlien 阅读(245) 评论(0) 推荐(0)
摘要: 62. 丑数 我们把只包含质因子2、3和5的数称作丑数(Ugly Number)。 例如6、8都是丑数,但14不是,因为它包含质因子7。 求第n个丑数的值。 思路:定义三个指针,分别指向所在的最小值,每次取最小值; class Solution { public: int getUglyNumber 阅读全文
posted @ 2020-02-26 21:53 swiftAlien 阅读(233) 评论(0) 推荐(0)
摘要: 57. 数字序列中某一位的数字 数字以0123456789101112131415…的格式序列化到一个字符序列中。 在这个序列中,第5位(从0开始计数)是5,第13位是1,第19位是4,等等。 请写一个函数求任意位对应的数字。 思路:数字按位数分类分别有9,90,900,9000……个数 class 阅读全文
posted @ 2020-02-26 21:13 swiftAlien 阅读(238) 评论(0) 推荐(0)
摘要: 58. 把数组排成最小的数 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组[3, 32, 321],则打印出这3个数字能排成的最小数字321323。 class Solution { public: string printMinNumbe 阅读全文
posted @ 2020-02-26 21:10 swiftAlien 阅读(252) 评论(0) 推荐(0)
摘要: 1、最长不含重复字符的子字符串 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 假设字符串中只包含从’a’到’z’的字符。 思路:前后指针分别指向不重复的最前和最后,后指针每次后移时,更新前指针: map保存的是字符对应的位置; class Solution { pu 阅读全文
posted @ 2020-02-26 21:08 swiftAlien 阅读(405) 评论(0) 推荐(0)
摘要: 1、两个链表的第一个公共结点 输入两个链表,找出它们的第一个公共结点。 当不存在公共节点时,返回空节点。 思路:让两个指针分别走一遍两个链表,交点就是公共节点: /** * Definition for singly-linked list. * struct ListNode { * int va 阅读全文
posted @ 2020-02-26 17:50 swiftAlien 阅读(216) 评论(0) 推荐(0)
摘要: 归并排序模板: void merge(vector<int>& nums, int l, int r){ if ( l >= r) return 0;//只有一个数 int mid = l+r >>1; //递归左右排序 merge(nums,l,mid); merge(nums,mid+1,r); 阅读全文
posted @ 2020-02-26 12:12 swiftAlien 阅读(156) 评论(0) 推荐(0)
摘要: 54. 数据流中的中位数 如何得到一个数据流中的中位数? 如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。 如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 样例 输入:1, 2, 3, 4 输出:1,1.5,2,2.5 解释:每当数据流读 阅读全文
posted @ 2020-02-21 17:03 swiftAlien 阅读(144) 评论(0) 推荐(0)
摘要: class Solution { public: vector<vector<int>> permutation(vector<int>& nums) { vector<vector<int>> res; //先从小到大 sort(nums.begin(),nums.end()); res.push 阅读全文
posted @ 2020-02-21 16:38 swiftAlien 阅读(286) 评论(0) 推荐(0)