调整数组顺序使奇数位于偶数前面![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9739f406c12b0d051da120ed6885cb3f.png)
解题思路:创建一个vector容器,遍历一次数组,先是偶数入数组,然后遍历一次数组,奇数入数组。
class Solution {
public:
vector<int> exchange(vector<int>& nums) {
vector<int> res;
int len = nums.size();
for(int i = 0;i<len;i++){
if(nums[i]%2!=0)
res.push_back(nums[i]);
}
for(int i = 0;i<len;i++){
if(nums[i]%2==0)
res.push_back(nums[i]);
}
return res;
}
};
青蛙跳台
解法1 动态规划的思想 我永远也无法领会其中的奥妙。
class Solution {
public:
const int Mod=1000000007;
int numWays(int n) {
if(n==0||n==1)return 1;
int pre=1,cur=1;
int res=0;
for(int i=2;i<=n;++i){
res=pre+cur;
pre=cur%Mod;
cur=res%Mod;
}
return res%Mod;
}
};
解答2:青蛙跳台 呱呱蛙
使用递归的思想
class Solution {
public:
const int Mod=1000000007;
int numWays(int n) {
int dp[100] = {0};
dp[0] = 1;
dp[1] = 2;
if(n==0||n==1)return 1;
for(int i=2;i<=n;++i){
dp[i] = dp[i-1]+dp[i-2];
}
return dp[n-1];
}
};
0~n-1中缺失的数字
class Solution {
public:
int missingNumber(vector<int>& nums) {
sort(nums.begin(),nums.end());
int n = nums.size() + 1;
for (int i = 0; i < n - 1; i++) {
if (nums[i] != i) {
return i;
}
}
return n - 1;
}
};