当前位置: 首页 > wzjs >正文

替朋友做网站广点通广告投放平台登录

替朋友做网站,广点通广告投放平台登录,网络平台制作多少钱,自己开公司需要多少资金牛客网NC276110题解:小红的数组重排 题目解析 算法思路 对数组进行排序(非降序)检查特殊情况: 如果存在三个连续相等的元素,则无解如果前两个元素都是0,则无解 若不存在特殊情况,则排序后的数…

牛客网NC276110题解:小红的数组重排

题目解析

在这里插入图片描述

算法思路

  1. 对数组进行排序(非降序)
  2. 检查特殊情况:
    • 如果存在三个连续相等的元素,则无解
    • 如果前两个元素都是0,则无解
  3. 若不存在特殊情况,则排序后的数组即为所求

为什么这样做是正确的?

当我们对数组排序后,相邻元素的乘积往往会递增。但有两种特殊情况需要排除:

  1. 三个连续相等的数:假设有三个连续相等的数x,那么会出现x×x = x×x,不满足严格递增
  2. 开头两个0:如果前两个元素都是0,则a₁×a₂ = 0,而后续任何包含0的乘积也为0,无法形成严格递增序列

代码实现

#include <bits/stdc++.h>
using namespace std;
int main()
{int n;cin>>n;int k[n];for(int i=0;i<n;i++){cin>>k[i];}sort(k,k+n);//数组从小到大排列。for(int i=0;i<n-2;i++){if(k[i]==k[i+1]&&k[i+1]==k[i+2]){cout<<"NO";return 0;}}if(k[0]==k[1]&&k[0]==0){cout<<"NO";return 0;}cout<<"YES"<<endl;for(int i=0;i<n;i++){cout<<k[i]<<" ";}return 0;
}

复杂度分析

  • 时间复杂度:O(nlogn),主要来自排序操作
  • 空间复杂度:O(n),存储输入数组

示例分析

以示例1为例:[7, 2, 5, 1]

  1. 排序后:[1, 2, 5, 7]
  2. 检查特殊情况:
    • 无三个连续相等的数
    • 开头两个数不都是0
  3. 输出排序后的数组:1 2 5 7

验证:1×2 < 2×5 < 5×7,即 2 < 10 < 35 ✓

注意题目示例输出了1 5 2 7,这也是正确答案的一种,因为:1×5 < 5×2 < 2×7,即 5 < 10 < 14 ✓

总结

这道题的关键是发现排序后的数组通常能满足要求,只需排除特殊情况。解题思路简洁明了,实现也很高效。

http://www.dtcms.com/wzjs/51596.html

相关文章:

  • 企业网站排名提升百度指数趋势
  • 购买域名后怎么做网站关键词排名零芯互联关键词
  • php和python做网站营销网站系统
  • 什么网站可以免费做宣传竞价托管代运营多少钱
  • 如何做网站详细步骤图超级外链自动发布工具
  • 重庆app推广公司常用的seo查询工具
  • 做图字体网站免费的个人网站html代码
  • 图片1600px做网站口碑营销策略有哪些
  • wordpress标题序号网络营销乐云seo
  • 做潮鞋的网站和平台网络公司名字大全
  • 视频类网站开发免费的外贸网站推广方法
  • 做面包国外网站百度热榜
  • 手机自助建网站企业网站推广模式
  • wordpress 用户增强南宁seo服务公司
  • 如何做网商商城的网站百度官网优化
  • 自己做qq头像网站百度移动seo首选帝搜软件
  • led灯什么网站做推广好河北seo关键词排名优化
  • 网站投放广告费用seo建站公司
  • 二手网站哪些做的比较好如何优化企业网站
  • 最简单的web网站开发小红书seo是什么意思
  • 网站建设道冲怎么制作百度网页
  • 做一年的网站维护价格优化大师win10
  • 购物网站建设所需软件seo什么意思中文意思
  • 官方网站建设公司军事新闻
  • 做口腔科网站广州新闻发布
  • wordpress 视频 去广告插件优化营商环境工作开展情况汇报
  • 公司平台网站建设免费建网站的步骤
  • 成人大专报考条件推广seo优化公司
  • 商贸有限公司网站建设谷歌网站优化
  • 做服装行业网站怎么每天更新内容舆情监测软件免费版