【LeetCode周赛】第388场周赛

目录

  • 100233. 重新分装苹果 简单
  • 100247. 幸福值最大化的选择方案 中等
  • 100251. 数组中的最短非公共子字符串 中等
  • 100216. K 个不相交子数组的最大能量值 困难

100233. 重新分装苹果 简单

100233. 重新分装苹果

分析:
排序+贪心

代码:

class Solution {
public:int minimumBoxes(vector<int>& apple, vector<int>& capacity) {int cnt = accumulate(apple.begin(), apple.end(), 0);sort(capacity.begin(), capacity.end());int i=capacity.size()-1;for(;i>=0&&cnt>0;i--){cnt-=capacity[i];}return capacity.size()-i-1;}
};


100247. 幸福值最大化的选择方案 中等

100247. 幸福值最大化的选择方案

分析:
排序+贪心。
每次选择当前幸福值最大的孩子,其余孩子幸福值均减小1,直至减小至0。

代码:

class Solution {
public:long long maximumHappinessSum(vector<int>& happiness, int k) {long long ans=0;sort(happiness.begin(), happiness.end());int i=happiness.size()-1,cnt=0;while(k--){ans+=(1LL*(max(happiness[i]-cnt,0)));cnt++;i--;}return ans;}
};


100251. 数组中的最短非公共子字符串 中等

100251. 数组中的最短非公共子字符串

分析:

代码:
利用map实现哈希表,后续需要学习字符串哈希

class Solution {
public:vector<string> shortestSubstrings(vector<string>& arr) {unordered_map<string, int> m,mine;vector<string> ans;int n=arr.size();for(int i=0;i<n;i++){int l=arr[i].length();mine.clear();for(int j=1;j<=l;j++){for(int k=0;k+j-1<l;k++){string s= arr[i].substr(k,j);if(mine[s]==0){ // 同一个字符串中的字符只计算一次m[s]++;mine[s]++;}}}}for(int i=0;i<n;i++){int l=arr[i].length();for(int j=1;j<=l;j++){vector<string> a;for(int k=0;k+j-1<l;k++){string s = arr[i].substr(k, j);if(m[s]==1){a.push_back(s);}}if(a.size()>0){sort(a.begin(),a.end());ans.push_back(a[0]);}if(ans.size()>i) break;}if(ans.size()<=i) ans.push_back("");}return ans;}
};

利用 string.find()来进行优化,去除哈希表(利用map实现hash)的使用。

class Solution {
public:vector<string> shortestSubstrings(vector<string>& arr) {int n = arr.size();vector<string> ans(n);for(int i=0;i<n;i++){for(int len=1;len<=arr[i].size();len++){for(int j=0;j+len<=arr[i].size();j++){string s = arr[i].substr(j,len);bool flag = true;for(int k=0;k<n;k++) if(k!=i && arr[k].find(s) != string::npos) {flag=false; break;}if(flag && (ans[i].empty() || s < ans[i])) ans[i]=s;}if(ans[i].size() > 0) break;}}return ans;}
};


100216. K 个不相交子数组的最大能量值 困难

100216. K 个不相交子数组的最大能量值

分析:
前缀和+划分DP,目前还在尝试理解中。

代码:

class Solution {
public:long long maximumStrength(vector<int>& nums, int k) {int n = nums.size();vector<long long> s(n + 1);for (int i = 0; i < n; i++) {s[i + 1] = s[i] + nums[i];// 前缀和}vector<vector<long long>> f(k + 1, vector<long long>(n + 1)); //dp[i][j]表示将0~j-1分成i段for (int i = 1; i <= k; i++) {f[i][i - 1] = LLONG_MIN;long long mx = LLONG_MIN;int w = (k - i + 1) * (i % 2 ? 1 : -1);// 要保证前0~j-1至少有i个元素,同时保证j~n-1至少有k-i个元素for (int j = i; j <= n - k + i; j++) {// 维护 i-1 到 当前 j-1 的最大值// 选择 nums[j-1]且为 第i个子数组的最右端元素,但第 i 个子数组有多少,需要从 i-1 开始一直到 j-1 计算 mx = max(mx, f[i - 1][j - 1] - s[j - 1] * w);// 选择当前值的最大值,选nums[j-1](包含怎么选)或者不选f[i][j] = max(f[i][j - 1], s[j] * w + mx);}}return f[k][n];}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Liunx下安装Redis(详细安装)

1、创建一个文件目录 mkdir /opt/redis2、进入安装目录 cd /opt/redis3、下载redis默认安装包 默认是3.0版本的 wget http://download.redis.io/releases/redis4、进行解压 tar -xzvf redis-3.0.7.tar.gz5、进入解压好的文件夹目录 cd redis-3.0.7 6、将redis重新安装到 …

【C++】每日一题 82 删除排序链表中的重复元素

给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 class ListNode { public:int val;ListNode* next;ListNode(int _val) {val _val;next nullptr;} };ListNode* deleteDuplicates(ListNo…

Python面向对象构造函数:手把手教你如何玩转对象初始化

我们都知道&#xff0c;Python是一个面向对象的语言&#xff0c;这意味着我们可以用类来定义对象的属性和方法。而构造函数&#xff0c;就是当我们创建一个新的对象时&#xff0c;会自动调用的特殊方法。那么&#xff0c;如何玩转这个构造函数呢&#xff1f; 首先&#xff0c;…

第七十八周周报

学习目标&#xff1a; 一、实验 学习时间&#xff1a; 2024.3.9-2024.3.15 学习产出&#xff1a; 实验 目前stylegna2、diffusion-stylegan2、U-ViT的实验以及ViTGAN cifar10的定性试验已经完成&#xff0c;还剩CelebA64的定性实验&#xff0c;以及DiT的实验。DiT模型改完…

蓝桥集训之大臣的旅费

蓝桥集训之大臣的旅费 核心思想&#xff1a;dfs求树的直径 从原点开始 找距离其最远的点 然后再找一次最远点 之间距离为直径2次dfs即可求出最长距离 #include<bits/stdc.h>using namespace std;const int N 1e610; int n ;int cnt[N] , e[N] , ne[N] , h[N] , idx ;i…

[Java、Android面试]_04_进程、线程、协程

本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料。 整理成了面试系列&#xff0c;由于时间有限&#xff0c;每天整理一点&#xff0c;后续会陆续分享出来&#xff0c;感兴趣的朋友可收藏 文…

JAVA基础—JVM内存结构基础需知

1.JVM内存结构 JVM内存结构分为5个区域&#xff1a;方法区&#xff0c;虚拟机栈&#xff0c;本地方法栈、堆、程序计数器。 1.方法区&#xff08;Method Area&#xff09;&#xff1a;用于存储类的结构信息、常量、静态变量、即使编译器编译后的代码等数据。方法区也是所有线…

【数据库】Oracle内存结构与参数调优

Oracle内存结构与参数调优 Oracle 内存结构概览oracle参数配置概览重要参数&#xff08;系统运行前配置&#xff09;:次要参数&#xff08;可在系统运行后再优化调整&#xff09;: Oracle数据库服务器参数如何调整OLTP内存分配操作系统核心参数配置Disabling ASMM&#xff08;禁…

React18 后台管理模板项目:现代、高效与灵活

&#x1f389; 给大家推荐一款React18TypescriptVitezustandAntdunocss且超级好用的中后台管理框架 项目地址 码云&#xff1a;https://gitee.com/nideweixiaonuannuande/xt-admin-react18github&#xff1a;https://github.com/1245488569/xt-admin-react18 演示地址 http…

2024年【安全员-A证】复审考试及安全员-A证模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-A证复审考试参考答案及安全员-A证考试试题解析是安全生产模拟考试一点通题库老师及安全员-A证操作证已考过的学员汇总&#xff0c;相对有效帮助安全员-A证模拟试题学员顺利通过考试。 1、【多选题】《安全生产…

24计算机考研调剂 | 太原科技大学

2024年太原科技大学 力学专业 接收研究生调剂通告 考研调剂招生信息 招生专业&#xff1a; 080100&#xff08;力学&#xff09; 01先进材料变形行为及力学性能 02 计算力学及其应用 03结构动力学与无损检测 04复合材料断裂理论与结构设计 补充内容 调剂考生基本要求 &…

男生穿什么裤子最帅?目前最流行的男裤子款式分享

现在不少男生朋友都觉得裤子特别难选&#xff0c;尤其是市面上经常会有一些面料劣质、版型不正确的款式&#xff0c;导致大家选衣服就尤其容易踩雷。所以今天就来和大家分享一下哪些口碑较好的男装品牌值得推荐&#xff01; 男装裤子怎么选&#xff1f;市面上的品牌多得数不胜数…

layuiAdmin-通用型后台模板框架【广泛用于各类管理平台】

1. 主页 1.1 控制台 2. 组件 3. 页面 3.1 个人主页 3.2 通讯录 3.3 客户列表 3.4 商品列表 3.5 留言板 3.6 搜索结果 3.7 注册 3.8 登入 3.9 忘记密码 4. 应用 4.1 内容系统 4.1.1 文章列表 4.1.2 分类管理 4.1.3 评论管理 4.2 社区系统 4.2.1 帖子列表 4.2.2 回…

简单了解跨域问题如何解决

跨域问题是怎么产生的&#xff1f; 跨域就是违反了浏览器规定的一个同源策略&#xff0c;同源策略是为了保证不同页面之间不能用到对方的一下信息&#xff08;如cookie&#xff0c;DOM对象&#xff09;保证安全&#xff0c;同源策略主要是三个方面相同&#xff0c;用一个URL来…

2024年【危险化学品经营单位安全管理人员】考试及危险化学品经营单位安全管理人员考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试根据新危险化学品经营单位安全管理人员考试大纲要求&#xff0c;安全生产模拟考试一点通将危险化学品经营单位安全管理人员模拟考试试题进行汇编&#xff0c;组成一套危险化学品经…

第二百零四回

文章目录 1 .概念介绍2. 使用方法3. 示例代码 我们在上一章回中介绍了自定义缓冲组件相关的内容&#xff0c;本章回中将介绍一个和它类似的组件&#xff1a;下拉刷新组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1 .概念介绍 我们在本章回介绍的下拉刷新组件叫Refres…

Java基础-复制

复制 前言引用拷贝浅拷贝深拷贝重写clone()方法序列化 前言 在编码中,我们可能会遇到需要将对象的属性复制到另一个对象中,这种情况叫做拷贝. 拷贝与Java内存结构有密切关系,拷贝有三种情况,引用拷贝,深拷贝和浅拷贝,下面来了解一下. 引用拷贝 引用拷贝会生成一个新的对象引…

15届蓝桥杯第二期模拟赛题单详细解析

文章目录 &#x1f9e1;&#x1f9e1;t1_求余&#x1f9e1;&#x1f9e1;思路代码 &#x1f9e1;&#x1f9e1;t2_灌水&#x1f9e1;&#x1f9e1;思路代码 &#x1f9e1;&#x1f9e1;t3_字符显示&#x1f9e1;&#x1f9e1;思路代码 &#x1f9e1;&#x1f9e1;t4_区间最大和…

携手共进办公网络安全

一、引言 在数字化时代的今天&#xff0c;办公网络安全问题已日益成为企业发展的重要课题。随着信息技术的快速发展&#xff0c;网络安全威胁也呈现出多样化、复杂化的趋势。这些危害可能源于网络本身的漏洞、人为因素或外部威胁&#xff0c;给企业的信息安全和正常运营带来严…