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

网站后台后缀名网页用什么软件做

网站后台后缀名,网页用什么软件做,好的网站分享,建设银行北京分行招聘网站【LetMeFly】2918.数组的最小相等和:if-else 力扣题目链接:https://leetcode.cn/problems/minimum-equal-sum-of-two-arrays-after-replacing-zeros/ 给你两个由正整数和 0 组成的数组 nums1 和 nums2 。 你必须将两个数组中的 所有 0 替换为 严格 正…

【LetMeFly】2918.数组的最小相等和:if-else

力扣题目链接:https://leetcode.cn/problems/minimum-equal-sum-of-two-arrays-after-replacing-zeros/

给你两个由正整数和 0 组成的数组 nums1nums2

你必须将两个数组中的 所有 0 替换为 严格 正整数,并且满足两个数组中所有元素的和 相等

返回 最小 相等和 ,如果无法使两数组相等,则返回 -1

 

示例 1:

输入:nums1 = [3,2,0,1,0], nums2 = [6,5,0]
输出:12
解释:可以按下述方式替换数组中的 0 :
- 用 2 和 4 替换 nums1 中的两个 0 。得到 nums1 = [3,2,2,1,4] 。
- 用 1 替换 nums2 中的一个 0 。得到 nums2 = [6,5,1] 。
两个数组的元素和相等,都等于 12 。可以证明这是可以获得的最小相等和。

示例 2:

输入:nums1 = [2,0,2,0], nums2 = [1,4]
输出:-1
解释:无法使两个数组的和相等。

 

提示:

  • 1 <= nums1.length, nums2.length <= 105
  • 0 <= nums1[i], nums2[i] <= 106

解题方法:讨论

假设 n u m s 1 nums1 nums1的和为 s 1 s1 s1 n u m s 1 nums1 nums1中有 c 1 c1 c1 0 0 0 n u m s 2 nums2 nums2的和以及零的个数分别为 s 2 s2 s2 c 2 c2 c2,则有:

  • s 1 < s 2 + c 2 a n d c 1 = = 0 s1 < s2 + c2 and c1 == 0 s1<s2+c2andc1==0,说明 n u m s 2 nums2 nums2的和至少变为 s 2 + c 2 s2+c2 s2+c2,比 s 1 s1 s1大并且 s 1 s1 s1中没有 0 0 0可以使其和变大,直接返回 − 1 -1 1
  • s 1 + c 1 > s 2 a n d c s = = 0 s1 + c1 > s2 and cs == 0 s1+c1>s2andcs==0,同理,直接返回 − 1 -1 1
  • 否则,返回 m a x ( s 1 + c 1 , s 2 + c 2 ) max(s1 + c1, s2 + c2) max(s1+c1,s2+c2)

时空复杂度分析:

  • 时间复杂度 O ( l e n ( n u m s 1 ) + l e n ( n u m s 2 ) ) O(len(nums1) + len(nums2)) O(len(nums1)+len(nums2))
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++
/** @Author: LetMeFly* @Date: 2025-05-10 12:07:54* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-05-10 19:00:36*/
typedef long long ll;class Solution {
public:long long minSum(vector<int>& nums1, vector<int>& nums2) {ll s1 = 0, s2 = 0;int c1 = 0, c2 = 0;for (int t : nums1) {s1 += t;c1 += t == 0;}for (int t : nums2) {s2 += t;c2 += t == 0;}if (s1 < s2 + c2 && c1 == 0 || s1 + c1 > s2 && c2 == 0) {return -1;}return max(s1 + c1, s2 + c2);}
};
Python
'''
Author: LetMeFly
Date: 2025-05-10 12:07:54
LastEditors: LetMeFly.xyz
LastEditTime: 2025-05-10 19:29:26
'''
from typing import List, Tupleclass Solution:def cal1(self, nums: List[int]) -> Tuple[int, int]:s, c = 0, 0for t in nums:if t:s += telse:c += 1return s, cdef minSum(self, nums1: List[int], nums2: List[int]) -> int:s1, c1 = self.cal1(nums1)s2, c2 = self.cal1(nums2)if s1 < s2 + c2 and c1 == 0 or s1 + c1 > s2 and c2 == 0:return -1return max(s1 + c1, s2 + c2)
Java
/** @Author: LetMeFly* @Date: 2025-05-10 12:07:54* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-05-10 19:32:19*/
class Solution {public long minSum(int[] nums1, int[] nums2) {long s1 = 0, s2 = 0;int c1 = 0, c2 = 0;for (int t : nums1) {s1 += t;if (t == 0) {c1++;}}for (int t : nums2) {s2 += t;if (t == 0) {c2++;}}if (s1 < s2 + c2 && c1 == 0 || s1 + c1 > s2 && c2 == 0) {return -1;}return Math.max(s1 + c1, s2 + c2);}
}
Go
/** @Author: LetMeFly* @Date: 2025-05-10 12:07:54* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-05-10 19:38:55*/
package mainfunc cal2918(a []int) (s int64, cnt int64) {for _, t := range a {if (t == 0) {cnt++} else {s += int64(t)}}return
}func minSum(nums1 []int, nums2 []int) int64 {s1, c1 := cal2918(nums1)s2, c2 := cal2918(nums2)if s1 < s2 + c2 && c1 == 0 || s1 + c1 > s2 && c2 == 0 {return -1}return max(s1 + c1, s2 + c2)
}

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

http://www.dtcms.com/a/606562.html

相关文章:

  • 60_AI智能体运维部署之实战指南:阿里云服务器生产环境Docker化部署全流程
  • 酒店网站建设案例有什么手机网站
  • 网站建设与维护asp下载app
  • 【深度学习新浪潮】什么是缓存命中/未命中?
  • 西安大型网站制作建易网官网
  • 工业级多功能辅助机器人:市场现状、发展前景与竞争格局
  • GIS案例-基于人口密度、竞品分布的零售门店选址评分
  • 网站推广软件下拉管家论述电子商务网站的建设
  • 杭州网站建设网页设计培训学校多少
  • [9]. SpringAI Alibaba MCP
  • 网站托管方式wordpress 增加磁盘容量
  • 网站建设ui设计wordpress多专题模版
  • [vue] vue路由传参,对参数值编码处理
  • Xilinx Aurora 8B/10B IP核(1):时钟架构线速率Lane配置--使用与选择详解
  • 四川省建设工程网站瑞幸咖啡网络营销策划方案
  • 深度学习基础知识总结(二):激活函数(Activation Function)详解
  • iFlow CLI Hooks 「从入门到实战」应用指南
  • 搭建视频网站阿里云服务器租赁
  • 认知增强的新范式:基于具身记忆与大型语言模型协同的记忆宫殿法优化研究
  • IntelliJ IDEA 设置 Local History 永久保留
  • 东莞市企业网站制作平台南宁关键词优化公司
  • 专业的企业网站设计与编辑wordpress 首页缩略图
  • 基于mcp实现csdn自动发帖 (上)
  • Web 项目中 Axios 与 HTTP 状态码的正确打开方式
  • 成都网站建设scjsc888怎么给网站加ico图标
  • 遵义城乡住房建设厅网站自己做的网站如何让外网访问
  • Rust 命令行待办工具
  • PANDA:通过代理型 AI 工程师迈向通用视频异常检测
  • 关于SSL/TLS证书的详细说明+即加密通信协议
  • 淘宝做问卷的网站好京东网上商城书店