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

华为OD机试 - 求字符串中所有整数的最小和(Java JS Python C C++)

题目描述

输入字符串s,输出s中包含所有整数的最小和。

说明:

字符串s,只包含 a-z A-Z ±

合法的整数包括

1)正整数:一个或者多个0-9组成,如 0 2 3 002 102

2)负整数:负号 – 开头,数字部分由一个或者多个0-9组成,如 -0 -012 -23 -00023

输入描述

包含数字的字符串

输出描述

所有整数的最小和

用例1

输入

bb1234aa

输出

10

用例2

输入

bb12-34aa

输出

-31

解析

为了解决这个问题,我们可以编写一个程序来遍历输入的字符串,识别并提取出所有的合法整数,并将它们转换成相应的整数值。然后,我们计算这些整数的最小和。

以下是解决此问题的一个Python示例代码:

import re  def find_min_sum(s):  # 使用正则表达式匹配所有整数(正整数和负整数)  integers = re.findall(r'-?\d+', s)  # 将字符串表示的整数转换成整数类型  nums = [int(num) for num in integers]  # 返回整数的最小和  return sum(nums)  # 测试用例  
input1 = "bb1234aa"  
print(find_min_sum(input1))  # 输出应为 1234  input2 = "bb12-34aa"  
print(find_min_sum(input2))  # 输出应为 -22 (注意:这里应该是-22而不是-31,因为题目描述中的整数提取包括了"12"和"-34",它们的和是-22)

请注意,上述代码在处理输入 “bb12-34aa” 时会输出 -22 而不是 -31,因为按照整数提取的逻辑,它提取了两个整数 “12” 和 “-34”,并计算了它们的和。如果题目意图是将 “12” 和 “-34” 当作一个整体来提取和处理,那么我们需要一个更复杂的解析逻辑,这取决于字符串中整数之间是否允许存在其他字符。

在题目的当前描述下,我们可以假定整数之间不应该有其他字符,并且每个整数都应该被单独处理。如果确实需要按照特定的规则(例如考虑整数间的符号组合)来处理整数,那么我们需要更详细的规则说明才能写出正确的代码。

另外,上述代码使用了正则表达式 r’-?\d+’ 来匹配整数,其中 -? 表示可选的负号,\d+ 表示一个或多个数字。如果字符串中的整数可能以空格分隔或存在其他复杂情况,正则表达式可能需要调整以正确匹配。

代码

以下是使用Java、JavaScript、Python、C和C++编写的解决方案,每个程序都实现了提取字符串中所有整数并计算它们的最小和的功能。

Java

import java.util.regex.Matcher;  
import java.util.regex.Pattern;  public class MinSumOfIntegers {  public static void main(String[
http://www.lryc.cn/news/320256.html

相关文章:

  • goland设置保存文件时不将4个空格转为TAB
  • 基于Linux内核的socket编程(TCP)的C语言示例
  • 【WEEK3】 【DAY4】JSON交互处理第三部分【中文版】
  • 下载chromedrive,使用自动化
  • D-Star 寻路算法
  • mysql5.7编译安装
  • Java项目实战记录:雷达数据渲染
  • 进程的概念 | PCB | Linux下的task_struct | 父子进程和子进程
  • 【GPT-SOVITS-03】SOVITS 模块-生成模型解析
  • 2024HVV行动-进军蓝中研判(log4j2、fastjson、Struts2、Shiro)
  • 亮点抢先看!4月16-17日,百度Create大会开设“AI公开课”,大咖带你打造赚钱工具
  • 【笔记本清灰/实用经验】荣耀Magicbook14-2020款-R5-4500U-清灰实战
  • 如何写好Stable Diffusion的prompt
  • 计算机毕业设计 | SpringBoot+vue 移动端社区物业管理系统(附源码+论文)
  • 玩转C语言——数组初探
  • Nginx指令配置大全
  • 富格林:安全出金关注可信操作
  • DELETE、TRUNCATE 和 DROP 在MySQL中的区别及使用示例
  • 程序员应该如何选择职业赛道?
  • 深入浅出Hive性能优化策略
  • 利用卷积神经网络进行人脸识别
  • 固态硬盘有坏道怎么恢复数据 固态硬盘坏道怎么修复
  • adobe animate 时间轴找不到编辑多个帧按钮
  • 5 亿欧元巨额奖励!法国国防部启动量子初创公司项目
  • Linux:系统初始化,内核优化,性能优化(2)
  • JS08-DOM节点
  • 2024/3/14打卡棋子(14届蓝桥杯)——差分
  • A Survey on Multimodal Large Language Models
  • Java面向对象编程(高级)一
  • 1056:点和正方形的关系