【华为机试】2023年真题B卷(python)-计算最大乘积

一、题目

题目描述:

给定一个元素类型为小写字符串的数组,请计算两个没有相同字符的元素长度乘积的最大值,如果没有符合条件的两个元素,返回0。

二、输入输出

输入描述:
输入为一个半角逗号分隔的小写字符串的数组,2 <= 数组长度<=100,0 < 字符串长度<= 50。
输出描述:
两个没有相同字符的元素 长度乘积的最大值。

三、示例

示例1:
输入输出示例仅供调试,后台判题数据一般不包含示例
输入:
iwdvpbn,hk,iuop,iikd,kadgpf
输出:
14
说明:
数组中有5个元素。
iwdvpbn与hk无相同的字符,满足条件,iwdvpbn的长度为7,hk的长度为2,乘积为14(7*2)。
iwdvpbn与iuop、iikd、kadgpf均有相同的字符,不满足条件。
iuop与iikd、kadgpf均有相同的字符,不满足条件。
iikd与kadgpf有相同的字符,不满足条件。
因此,输出为14。

四、解题思路

  1. 对于数组中的每一对字符串,检查它们是否有相同的字符。如果没有,就计算它们的长度乘积,并更新最大长度乘积。
  2. 为了检查两个字符串是否有相同的字符,可以将每个字符串转换为集合,然后检查这两个集合是否有交集。如果没有交集,那么这两个字符串就没有相同的字符。
  3. 为了避免重复检查,可以使用一个二维数组来存储已经计算过的字符串对的结果。

五、参考代码 

# -*- coding: utf-8 -*-
'''
@File    :   2023-B-计算最大乘积.py
@Time    :   2023/12/29 23:34:10
@Author  :   mgc 
@Version :   1.0
@Desc    :   None
'''# import os
# import re
# import sys
# import copy
# import math
# import queue
# import functools
# from queue import Queue
# from collections import Counter, defaultdictdef max_product(arr):# 初始化最大乘积为0max_product = 0# 遍历数组中的每一对字符串for i in range(len(arr)):for j in range(i+1, len(arr)):# 将字符串转换为集合set1 = set(arr[i])set2 = set(arr[j])# 检查两个集合是否有交集if not set1 & set2:# 计算长度乘积并更新最大乘积product = len(arr[i]) * len(arr[j])max_product = max(max_product, product)# 返回最大乘积return max_productarr = input().split(",")
result = max_product(arr)
print(result)

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

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

相关文章

数字PID算法基础

数字PID是由编程语言实现的PID算法并烧录到控制芯片中&#xff0c;控制芯片与电机驱动连接&#xff0c;将PID控制算法的输出转换为PWM控制信号发送给电机驱动电路&#xff0c;电机驱动电路与直流电机相连并将PWM控制信号转换为具有相同占空比的PWM供电电压&#xff0c;通过对输…

Jmeter之从CSV文件获取数据

新建csv文件 新建一个excel&#xff0c;填充业务数据&#xff0c;然后导出csv格式文件。 添加一个CSV数据文件 使用

认识K8S的基本概念和原理

K8S&#xff1a;Kubernetes8个字母省略就是k8s 自动部署&#xff0c;自动扩展和容器化部署的应用程序的一个开源系统 k8s是负责自动化运维管理多个容器化程序的集群。是一个功能强大的容器编排工具。分布式和集群化的方式进行容器管理。 k8s的版本&#xff1a;1.15或1.18。使…

RO-NeRF论文笔记

RO-NeRF论文笔记 文章目录 RO-NeRF论文笔记论文概述Abstract1 Introduction2 Related Work3 Method3.1 RGB and depth inpainting network3.2 Background on NeRFs3.3 Confidence-based view selection3.4 Implementation details 4 Experiments4.1 DatasetsReal ObjectsSynthe…

YOLOv5算法进阶改进(9)— 引入ASPP | 空洞空间金字塔池化

前言:Hello大家好,我是小哥谈。ASPP是空洞空间金字塔池化(Atrous Spatial Pyramid Pooling)的缩写。它是一种用于图像语义分割任务的特征提取方法。ASPP通过在不同尺度上进行空洞卷积操作,从而捕捉到图像中不同尺度的上下文信息。ASPP的主要思想是在输入特征图上应用多个不…

【QT】单例模式,Q_GLOBAL_STATIC 宏的使用和使用静态成员函数,eg:{简单的日志记录器}

简单的日志记录器为例 。 创建一个Logger类&#xff0c;该类负责记录应用程序的日志消息 使用 Q_GLOBAL_STATIC 宏 解析&#xff1a;Q_GLOBAL_STATIC 是一个 Qt 宏&#xff0c;用于创建全局静态实例。它确保在需要时只创建一次实例&#xff0c;而不管该实例是在哪个线程中创建…

华为服务器安装银河麒麟V10操作系统(IBMC安装)

iBMC是华为面向服务器全生命周期的服务器嵌入式管理系统。提供硬件状态监控、部署、节能、安全等系列管理工具&#xff0c;标准化接口构建服务器管理更加完善的生态系统。 服务器BMC IP&#xff1a;192.168.2.100 一、准备工作 1、确保本机和服务器BMC管理口在同一网络 2、银…

Mybatis 传参的方式

第一种情形&#xff0c;传入单个参数 userId service层&#xff1a; Override public User getUserInfo(Integer userId) {User user userMapper.getUserInfo(userId);//省略 业务代码...return user; } mapper层&#xff1a; User getUserInfo(Integer userId); mapper.x…

浅层神经网络时间序列预测和建模

目录 时间序列网络 NARX 网络 NAR 网络 非线性输入-输出网络 定义问题 使用神经网络时间序列拟合时间序列数据 使用命令行函数拟合时间序列数据 选择数据 选择训练算法 创建网络 准备要训练的数据 划分数据 训练网络 测试网络 查看网络 分析结果 闭环网络 向…

第七课:计算机网络、互联网及万维网(WWW)

第七课&#xff1a;计算机网络、互联网及万维网&#xff08;WWW&#xff09; 第二十八章&#xff1a;计算机网络1、局域网 Local Area Networks - LAN2、媒体访问控制地址 Media Access Control address - MAC3、载波侦听多路访问 Carrier Sense Multiple Access - CSMA4、指数…

BFC(解决高度塌陷的问题)

BFC&#xff08;解决高度塌陷的问题&#xff09; 高度塌陷&#xff1a;子元素设置了浮动&#xff0c;父元素的高度随之x 元素开启BFC元素之后的特点&#xff1a; 1.开启BFC的元素不会被浮动的元素所覆盖。 2.开启BFC的父元素和子元素的外边距不会重叠 3.开启BFC的元素可以…

LeetCode 面试题 01.06. 字符串压缩(443. 压缩字符串)

对于算法题&#xff0c;按题型类别刷题才会更有成效&#xff0c;因此我这里在网上搜索并参考了下 “&#x1f525; LeetCode 热题 HOT 100” 的题型归类&#xff0c;并在其基础上做了一定的完善&#xff0c;希望能够记录自己的刷题历程&#xff0c;有所收获&#xff01;点击下发…

Stable Diffusion 系列教程 - 5 ControlNet

ControlNet和LORA的定位都是对大模型做微调的额外网络。作为入门SD的最后一块拼图是必须要去了解和开发的。为什么ControlNet的影响力如此的大&#xff1f;在它之前&#xff0c;基于扩散模型的AIGC是非常难以控制的&#xff0c;扩散整张图像的过程充满了随机性。这种随机性并不…

激光 GPS 卫星实现无边界精度

GPS 卫星领域已经发生了重大创新&#xff0c;将变得更加精确和强大。我们正在谈论激光后向反射器阵列&#xff08; LRA&#xff09;的发展。 这些可以精确跟踪地球的形状、自转和环境变化&#xff0c;从而扩展卫星的能力。 GPS卫星的主要用途是确定各种情况下的位置&#xff…

C++继承与派生——(7)类型兼容原则

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 站在巨人的肩上&#xff0c;是为了超过…

Unity检测地面坡度丨人物上坡检测

Unity检测地面坡度 前言使用 代码 前言 此功能为&#xff0c;人物在爬坡等功能时可以检测地面坡度从而完成向某个方向给力或者完成其他操作 使用 其中我们创建了脚本GradeCalculation&#xff0c;把脚本挂载到人物上即可&#xff0c;或者有其他的使用方式&#xff0c;可自行…

nodejs+vue+ElementUi摄影预约服务网站系统91f0v

本系统提供给管理员对首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;员工管理&#xff0c;摄影套餐管理&#xff0c;套餐系列管理&#xff0c;客片欣赏管理&#xff0c;摄影预约管理&#xff0c;摄影订单管理&#xff0c;取片通知管理&#xff0c;摄影评价管理&…

oj习题8577 合并顺序表

8577 合并顺序表 若线性表中数据元素相互之间可以比较&#xff0c;且数据元素在表中按值递增或递减&#xff0c;则称该表为有序表。 编写算法&#xff0c;将两个非递减有序顺序表A和B合并成一个新的非递减有序顺序表C。 输入格式 第一行&#xff1a;顺序表A的元素个数 第二行&…

Linux 服务器安全策略技巧:实施网络入侵防御系统

引言 在当今数字化时代,网络安全对于任何企业和个人都至关重要。特别是对于使用Linux服务器的用户来说,实施网络入侵防御系统是确保服务器安全的关键一步。本文将介绍一些Linux服务器安全策略技巧,帮助您保护服务器免受网络入侵的威胁。 1. 更新操作系统和软件 保持操作系…

KEPServerEX 6 之 GE Ethernet 连接FANUC ROBOT机器人实战

GE Ethernet Driver 连接FANUC ROBOT机器人 ---------------------------- GE Fanuc介绍 GE Fanuc是GE公司控制系统部门的一部分,成立于1998年。其主要业务涵盖工业自动化、控制系统、PLC和组态软件等领域。其产品可用于包括自动化、过程自动化、国防、汽车制造、通讯、医疗…