LeetCode--977.有序数组的平方(C++)

力扣链接

//
// Created by lwj on 2022-04-01.
//
//时间复杂度为O(n+n*logn)  快速排序的时间复杂度为nlogn
#include 
#include 
#include 
using namespace std;

class Solution {
public:
    vector sortedSquares(vector& nums) {
        for (int i = 0; i < nums.size(); i++) {
            //nums[i] = nums[i] * nums[i];
            nums[i] *= nums[i];
        }
        sort(nums.begin(),nums.end());
        return nums;
    }
};

int main() {
    int a[] = {-7, -3, 2, 3, 11};
    vector cost(a, a + sizeof(a) / sizeof(int)); // 第一个参数表示cost容器中放的是a数组,第二个参数表示是取a数组中的所有元素
    Solution solution;
//    int len = cost.size();
//    cout << len << endl;
//    for (int i = 0; i < len; i++) {
//        cout << solution.sortedSquares(cost)[i] << ' ';
//    }  // 这种遍历方法输出的结果为 4 81 6561 43046721 1855011585  不知道为什么不对?
    vector test = solution.sortedSquares(cost);
        for (auto i = test.begin(); i < test.end(); i++) {
        cout << *i << ' ';
    }
}


下面是遍历容器的方法:

#include 
//需要引入 vector 头文件
#include 
using namespace std;
int main()
{
    vectorvalues{1,2,3,4,5};
    auto first = values.begin();
    auto end = values.end();
    while (first != end)
    {
        cout << *first << " ";
        ++first;
    }
    return 0;
}
#include 
#include 
using namespace std;
int main()
{
    //初始化一个空vector容量
    vectorvalue;
    //向value容器中的尾部依次添加 S、T、L 字符
    value.push_back('S');
    value.push_back('T');
    value.push_back('L');
    //使用迭代器遍历容器
    for (auto i = value.begin(); i < value.end(); i++) {
        cout << *i << " ";
    }
    return 0;
}

你可能感兴趣的:(LeetCode,c++)