当前位置:网站首页>Likou Brush Question Record 3.1-----977. Square of ordered array
Likou Brush Question Record 3.1-----977. Square of ordered array
2022-08-09 02:27:00 【@ Bai Gui】
一、题目
二、代码
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
//本题思路:First divide the array into positive and negative Array ordered by absolute value 然后再处理
//second thought directly found location There is no need to declare two arrays 干就完事了
//常规变量
int i=0;
int j=0;
int k=0;
//本题变量
int size=0;
size= nums.size();
vector<int> vector_for_return(size,0); //迭代器的使用,必须要先用push_back()或者={}初始化,才可以
if(size!=0)
{
std::cout<<"size "<<size<<std::endl;
int record_positive=0;
// int vector_for_return[size]; //数组声明并且清零
// for(i=0;i<=size-1;i++) vector_for_return[i]=0;
//首先需要找到0 作为分界点
if(nums[0]>=0) //不存在0的情况 全部大于0
{
record_positive=-1;
}
else if(nums[size-1]<0) //不存在0的情况 全部都小于0
{
record_positive=-2;
}
else
{
for(i=0;i<=size-1;i++)
{
if(nums[i]>=0)
{
record_positive=i;
break;
}
}
}
std::cout<<"record_positive "<<record_positive<<std::endl;
if(record_positive==-1) for(i=0;i<=size-1;i++) vector_for_return[i]=nums[i]*nums[i];
if(record_positive==-2) for(i=size-1;i>=0;i--) vector_for_return[(size-1)-i]=nums[i]*nums[i];
if(record_positive!=-1&&record_positive!=-2)
{
j=record_positive-1;
k=record_positive;
std::cout<<"j "<<j<<std::endl;
std::cout<<"k "<<k<<std::endl;
for(i=0;i<=size-1&&j>=0&&k<=size-1;i++)
{
std::cout<<"j in "<<j<<std::endl;
std::cout<<"k in "<<k<<std::endl;
if(nums[j]*nums[j]<=nums[k]*nums[k])
{
vector_for_return[i]=nums[j]*nums[j];
j=j-1;
std::cout<<"j final "<<j<<std::endl;
std::cout<<"i"<<i<<std::endl;
std::cout<<"vector_for_return[i]"<<vector_for_return[i]<<std::endl;
}
else
{
vector_for_return[i]=nums[k]*nums[k];
k=k+1;
std::cout<<"i"<<i<<std::endl;
std::cout<<"vector_for_return[i]"<<vector_for_return[i]<<std::endl;
std::cout<<"k final"<<k<<std::endl;
}
}
//The situation after the assignment is complete should be side to end The other side has not come
if(j==-1&&k!=size)
{
for(;i<=size-1,k<=size-1;i++,k++) vector_for_return[i]=nums[k]*nums[k];
}
if(j!=-1&&k==size)
{
for(;i<=size-1,j>=0;i++,j--) vector_for_return[i]=nums[j]*nums[j];
}
}
}
else ;
//for(i=0;i<=size-1;i++) std::cout<<"i "<<i<<"vector_for_return[i] "<<vector_for_return[i]<<std::endl;
return vector_for_return;
}
};
三、运行结果
边栏推荐
- Significance Test--Study Notes
- HMS Core分析服务智能运营6.5.1版本上线
- 16.flink 自定义KeySelector
- JS 将对象拆开拼接成 URL
- 边缘计算的三个关键好处
- 【云计算】XaaS最全介绍(按24字母合集):AaaS、BaaS、CaaS、DaaS、EaaS、FaaS、GaaS、HaaS、IDaaS…
- 2022 China Eye Expo, China Beijing International Children and Adolescent Eye Health Industry Exhibition
- “蔚来杯“2022牛客暑期多校训练营7,签到题CFGJ
- Open3D 点云曲率计算
- 2022 Eye Care Products Exhibition, Beijing Eye Health Exhibition, Ophthalmology Exhibition, Myopia Correction Equipment Exhibition
猜你喜欢
力扣刷题记录1.5-----367. 有效的完全平方数
gpio子系统和pinctrl子系统(上)
接口自动化测试-接口封装思想
终于有人把灰度发布架构设计讲明白了
MT4/MQL4入门到精通EA教程第一课-MQL语言常用函数(一)OrderSend()函数
MT4/MQL4 Getting Started to Mastering EA Tutorial Lesson 1 - MQL Language Common Functions (1) OrderSend() Function
A40i gxl3680 ts_print报错:tslib: Selected device is not a touchscreen (must support ABS and KEY event
2022年自然语言处理校招社招实习必备知识点盘点分享
力扣刷题记录4.1-----209. 长度最小的子数组
jmeter的websocket插件安装和使用方法
随机推荐
快速乘写法
力扣刷题记录3.1-----977. 有序数组的平方
D. Tournament Countdown
2.1-----27. Remove elements
Open3D 随机采样
php过滤特殊字符(仅保留中文、字母、数字、下划线)
中国SSD产业突围有多难?除了技术“瓶颈”还有哪里挑战?
MAYA发动机建模
力扣刷题记录5.1-----59. 螺旋矩阵 II
How to install yii2
UsernameAuthenticationFilter授权成功后调用AuthenticationSuccessHandler时的解析
eladmin container deployment super detailed process
The security of the pension insurance?Reliable?
通过安装VNC服务器x11vnc(或vnc4server)和配置x11vnc.service实现远程通过VNC-Viewer访问VNC服务器。
力扣刷题记录4.1-----209. 长度最小的子数组
力扣刷题记录8.1-----206. 反转链表
数字 06 verilog_关于异步FIFO
Redis - 时间序列数据类型的保存方案和消息队列实现
为什么应用程序依赖关系映射对于云迁移至关重要
LintCode 146. 大小写转换 II