Time Limit: 2 sec / Memory Limit: 1024 MB ps:我的vector需要加强,用错了。 Problem Statement We have a string SS of length N consisting of R, G, and B. Find the n ...
分类:
其他好文 时间:
2020-04-14 20:41:36
阅读次数:
78
1 //动态方程dp[i]=min(dp[p_2]*2,dp[p_3]*3,dp[p_5]*5) 2 class Solution 3 { 4 public: 5 int nthUglyNumber(int n) 6 { 7 vector<int> dp(n); 8 dp[0] = 1; 9 int ...
分类:
其他好文 时间:
2020-04-14 20:29:05
阅读次数:
60
一:解题思路 Time:O(n),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: void nextPermutation(vector<int>& nums) { if (nums.size() == 0) return ...
分类:
编程语言 时间:
2020-04-14 18:41:59
阅读次数:
82
问题 A: 树上距离 懒惰的温温今天上班也在偷懒。盯着窗外发呆的温温发现,透过窗户正巧能看到一棵n个节点的树。一棵n个节点的树包含n 1条边,且n个节点是联通的。树上两点之间的距离即两点之间的最短路径包含的边数。 突发奇想的温温想要知道,树上有多少个不同的点对,满足两点之间的距离恰好等于k。 注意: ...
分类:
其他好文 时间:
2020-04-14 16:41:52
阅读次数:
90
题目大意都比较简单,用vector存一下图,然后爆搜就可以了。 #include<bits/stdc++.h> using namespace std; const int N=1e3+7; vector<int >ve[100]; bool mark[N]; int path[N]; string ...
分类:
其他好文 时间:
2020-04-14 16:33:08
阅读次数:
44
概念 同直接插入排序,多段后移。也叫增量排序。 基本思想 先取一个小于n的数d1作为第一个增量,把文件的全部记录分组 所有距离为d1的倍数的记录放在同一个组中 现在各组内进行直接插入排序 然后取第二个增量d2<d1重复上述的分组和排序,直至所取得增量 = 1,即将所有的记录放在同一组中进行直接插入排 ...
分类:
编程语言 时间:
2020-04-14 12:56:38
阅读次数:
81
题面 题意 给定一个长度为 n 的数列 定义要求的回文子数列满足下图条件 其中 x 与 y 可以为 0 即这个回文子数列可以是 数字完全相同 的一个子数列 也可以是 只包含两种数字 ,且其中一种 平均分布 在另一种数字的两侧 求出最长的回文子数列长度 解题思路 在输入时往vector里记录下每个数字 ...
分类:
其他好文 时间:
2020-04-14 09:15:49
阅读次数:
62
面试题 08.01. 三步问题 三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入:n = 3 输出:4 说明: 有四种走法示例2: 输入:n = 5 输出:13 ...
分类:
其他好文 时间:
2020-04-13 22:21:15
阅读次数:
110
传送门 解题思路: 一道比较有趣的题,解题工作主要分为两块: ①找出k(k=0表示小A先走,k=1表示小B先走,下面同理)从点i出发下一个到达的点to[k][i]; 一开始偷懒用了vector(偷懒一时爽),由于vector的erase操作是o(n)的,这个预处理时间复杂度就彪到o(n2)了。这里改 ...
分类:
其他好文 时间:
2020-04-13 20:01:35
阅读次数:
94
给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * ... * A[n-1],B[n-1] = ...
分类:
编程语言 时间:
2020-04-13 19:39:44
阅读次数:
53