当前位置: 首页 > 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.lryc.cn/news/571536.html

相关文章:

  • 【AI News | 20250617】每日AI进展
  • Tomcat本地部署Maven Java Web项目
  • 从C++编程入手设计模式——策略设计模式
  • uniapp 对接deepseek
  • 手术麻醉系统源码 手麻系统源码 Java手术室管理系统源码
  • 2025年渗透测试面试题总结-红队攻防工程师(题目+回答)
  • 缓存系统-基本概述
  • Ajax 核心知识点全面总结
  • 前端开发面试题总结-vue2框架篇(三)
  • 网络层协议 IP 协议介绍 -- IP 协议,网段划分,私有 IP 和 公网 IP,路由
  • KingbaseES 在线体验平台深度评测
  • 计算机硬件——外设、其他部件
  • CentOS7 安装最新版 Docker
  • 【MySQL】MySQL 数据库操作与设计
  • 【系统设计【4】】设计一个限流器:从理论到实践的完整解决方案
  • 从C++编程入手设计模式——外观模式
  • AI智能体应用市场趋势分析
  • Black自动格式化工具
  • PINA开源程序用于高级建模的 Physics-Informed 神经网络
  • 实验分享|自研局部DIC-GPU算法与开源GPU算法对比实验
  • jenkins打包问题jar问题
  • Layui的table实现鼠标移入单元格后tips弹框提示
  • 【RocketMQ 生产者和消费者】- 消费者重平衡(1)
  • 《开窍》读书笔记9
  • day40- 硬件学习之 51单片机II (中断处理)
  • 开源 Arkts 鸿蒙应用 开发(一)工程文件分析
  • MIT 6.S081 2020 Lab9 File Systems 个人全流程
  • 使用 Java + WebSocket 实现简单实时双人协同 pk 答题
  • 什么是状态机?状态机入门
  • 神奇的bug之docker compose启动mysql失败