int arrayPairSum(vector<int>& nums) {
sort(nums.begin(),nums.end());
int res = 0;
for(int i = 0 ; i<nums.size() ; )
{
res = res + nums[i];
i = i+2;
}
return res;
}
重塑矩阵
vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c)
{
int m = nums.size();
int n = nums[0].size();
if(m*n!=r*c) return nums;
vector<vector<int>> res(r,vector<int>(c)); // 定义格式
for(int i = 0; i<r*c ;i++)
{
res[i/c][i%c] = nums[i/n][i%n];
}
return res;
//------------------------------------------------------------------------------------------------------
// if(nums.size()*nums[0].size()!=r*c) return nums;
// vector<vector<int>> res;
// vector<int> temp;
// int colum = 0 ;
// colum flag
// for (int i = 0 ;i < nums.size() ; i++)
// for(int j = 0 ;j<nums[i].size() ; j++)
// {
// temp.push_back(nums[i][j]);
// colum++;
// if(colum==c)
// {
// res.push_back(temp);
// temp.clear();
// colum = 0;
// }
// }
// return res;
}
class Solution {
public:
int maximumProduct(vector<int>& nums) {
sort(nums.begin(),nums.end());
int len = nums.size();
// judge
return max(nums[len-1]*nums[len-2]*nums[len-3] , nums[0]*nums[1]*nums[len-1]); }};
子数组最大平均数 I 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数.
int res = INT_MIN ,temp = 0; // 一定要使用INT_MIN
for(int i = 0 ; i<k ;i++)
{
temp += nums[i];
}
res = max(res,temp);
for(int i = 1 ; i < nums.size()-k+1 ; i++)
{
temp = temp - nums[i-1] + nums[i+k-1];
res = max(res,temp);
}
return res/(double)k;
图片平滑器 包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。
vector<vector<int>> imageSmoother(vector<vector<int>>& M) {
// 一定要注意小错误 。。。。。。。。emmmmmmmmm
int raw = M.size() , col = M[0].size(),sum = 0, count = 0;
vector<vector<int>> res(raw,vector<int>(col));
for(int i = 0 ; i<raw ; i++)
for(int j = 0 ; j<col;j++)
{
for(int r = i-1 ; r <= i+1 ; r++)
for(int c = j-1 ; c <= j+1 ; c++)
{
if(0<=r && r<raw && 0<=c && c<col)
{
sum += M[r][c];
count++;
}
}
sum = sum/count;
res[i][j] = sum;
sum = 0;
count = 0;
}
return res;
非递减数列 给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]。