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

九日集训第六天

目录

两个数对之间最大的乘积差

三角形的最大周长

数组拆分

救生艇

摆动排序||

分发饼干

最少操作使数组递增

使数组唯一的最小增量

有效三角形的个数


两个数对之间最大的乘积差

class Solution {
public:int maxProductDifference(vector<int>& nums) {sort(nums.begin(),nums.end());return nums[nums.size()-1]*nums[nums.size()-2]-nums[0]*nums[1];}
};

三角形的最大周长

class Solution {
public:int largestPerimeter(vector<int>& nums) {sort(nums.begin(),nums.end());int n=nums.size();for(int i=n-1;i>=2;i--){if(nums[i-2]+nums[i-1]>nums[i])return nums[i-2]+nums[i-1]+nums[i];}return 0;}
};

数组拆分

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

救生艇

class Solution {
public:int numRescueBoats(vector<int>& people, int limit) {int res=0;sort(people.begin(),people.end());int left=0;int right=people.size()-1;while(left<=right){if(people[left]+people[right]<=limit){res++;left++;right--;}else {res++;right--;}}return res;}
};

摆动排序||

class Solution {
public:void wiggleSort(vector<int>& nums) {sort(nums.begin(),nums.end());int left=(nums.size()-1)/2;int right=nums.size()-1;vector<int> s(nums.size());for(int i=0;i<nums.size();i++){if(i%2==0){s[i]=nums[left--];}else {s[i]=nums[right--];}}for(int i=0;i<nums.size();i++){nums[i]=s[i];}}
};

分发饼干

class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(),g.end());sort(s.begin(),s.end());int res=0;int pg=0;int ps=0;while(ps<s.size()&&pg<g.size()){if(s[ps]>=g[pg]){res++;pg++;ps++;}else {ps++;}}return res;}
};

最少操作使数组递增

class Solution {
public:int minOperations(vector<int>& nums) {if(nums.size()==1)return 0;int res=0;for(int i=1;i<nums.size();i++){if(nums[i]<=nums[i-1]){res+=nums[i-1]-nums[i]+1;nums[i]=nums[i-1]+1;}}return res;}
};

使数组唯一的最小增量

class Solution {
public:int minIncrementForUnique(vector<int>& nums) {if (nums.size() == 1)return 0;sort(nums.begin(), nums.end());int res = 0;for (int i = 1; i < nums.size(); i++) {if (nums[i] <= nums[i - 1]) {res += abs(nums[i] - nums[i - 1] )+ 1;nums[i] = nums[i - 1] + 1;}}return res;}
};

有效三角形的个数

class Solution {
public:int triangleNumber(vector<int>& nums) {if(nums.size()<=2)return 0;int res=0;sort(nums.begin(),nums.end());for(int i=0;i<nums.size();i++){for(int j=i+1;j<nums.size();j++){for(int k=j+1;k<nums.size();k++){if(nums[i]+nums[j]>nums[k]){res++;}}}}return res;}
};

http://www.xdnf.cn/news/1058365.html

相关文章:

  • 1572. 矩阵对角线元素的和
  • 计算机网络学习笔记:TCP流控、拥塞控制
  • 大模型知识库RAG框架,比如LangChain、ChatChat、FastGPT等等,哪个效果比较好
  • 前端开发面试题总结-vue2框架篇(三)
  • 安装谷歌vue开发工具插件devtools支持vue2
  • CentOS7 安装最新版 Docker
  • 【RocketMQ 生产者和消费者】- 消费者重平衡(1)
  • 《开窍》读书笔记9
  • 为什么要进行行为验证,行为验证方式有哪些?
  • 什么是数据清洗?数据清洗有哪些步骤?
  • FPGA 43 ,UDP 协议详细解析( FPGA 中的 UDP 协议 )
  • 课设作业图书管理系统
  • CubeMax配置串口通讯
  • Flask设计网页截屏远程电脑桌面及切换运行程序界面
  • VS和VS Code 对比和区别
  • YOLO进化史:从v1到v12的注意力革命 —— 实时检测的“快”与“准”如何兼得?
  • MySQL 中 DISTINCT 去重的核心注意事项详解
  • element ui el-table嵌套el-table,实现checkbox联动效果
  • Uniapp设备API全面指南:从位置获取到扫码功能的实现
  • 电阻、电容、电感
  • 华为云二级、多级域名配置
  • Android实例项目【智能家居系统】实现数据库登录注册+动画效果+网页跳转+短信发送!!!
  • 项目的难点
  • 内测分发平台应用的异地容灾和负载均衡处理和实现思路?
  • 路由器压测实战:从负载均衡到DDoS防御,5步定位性能瓶颈(附脚本工具包)
  • **RAM**、**SAM** 和 **DAM**
  • NLP学习路线图(五十四): Kaggle/NLP竞赛
  • Socket编程udp
  • 学习 Protobuf:序列化、反序列化及与 JSON 的对比
  • Java中间件使用方式与实战应用