赞
踩
可以直接使用C++当时自带的排序算法库函数进行计算,属于暴力解法,复杂度较高,那么有没有运行效率更高的算法思想呢?
- class Solution {
- public:
- vector<int> sortedSquares(vector<int>& nums) {
- for(int i=0;i<nums.size();i++){
- nums[i]*=nums[i];
- }
- sort(nums.begin(),nums.end());
- return nums;
- }
- };
- class Solution {
- public:
- vector<int> sortedSquares(vector<int>& nums) {
- int k=nums.size()-1;
- int i,j;
- vector<int> result(nums.size(),0);
- for(i=0,j=nums.size()-1;i<=j;){
- if(nums[i]*nums[i]<nums[j]*nums[j]){
- result[k--]=nums[j]*nums[j];
- j--;
- }else{
- result[k--]=nums[i]*nums[i];
- i++;
- }
- }
- return result;
- }
- };
暴力解法确实可以进行运算,但是当测试的数组很多数字的时候,就超时了
- class Solution {
- public:
- int minSubArrayLen(int target, vector<int>& nums) {
- int result=INT32_MAX;
- int sum=0;
- int length=0;
- for(int i=0;i<nums.size();i++){
- sum=0;
- for(int j=i;j<nums.size();j++){
- sum+=nums[j];
- if(sum>=target){
- length=j-i+1;
- result=result<length?result:length;
- break;
- }
- }
- }
- return result==INT32_MAX?0:result;
- }
- };
在这里要格外注意为什么使用while(sum>target)而不是if(sum>target)来判断
- class Solution {
- public:
- int minSubArrayLen(int target, vector<int>& nums) {
- int result=INT32_MAX;
- int sum=0;
- int i=0;
- int j=0;
- int length=0;//子数组的长度
- for(j=0;j<nums.size();j++){
- sum+=nums[j];
- while(sum>=target){
- length=j-i+1;
- result=result<length?result:length;
- sum-=nums[i++];
- }
- }
- return result==INT32_MAX?0:result;
- }
- };
在这里主要是我们要提前规定好怎么查询,有规律得查询才能不会发生错误的查询和排序
- class Solution {
- public:
- vector<vector<int>> generateMatrix(int n) {
- vector<vector<int>> res(n, vector<int>(n, 0));
- int startx=0;
- int starty=0;
- int count=1;
- int offset=1;
- int loop=n/2;
- int mid=n/2;
- int i=0,j=0;
- while(loop--){
- i=startx;
- j=starty;
- for(j=starty;j<n-offset;j++){
- res[i][j]=count++;
- }
- for(i=startx;i<n-offset;i++){
- res[i][j]=count++;
- }
- for(;j>startx;j--){
- res[i][j]=count++;
- }
- for(;i>startx;i--){
- res[i][j]=count++;
- }
- startx++;
- starty++;
- offset++;
- }
- if(n%2!=0){
- res[mid][mid]=count;
- }
- return res;
- }
- };
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。