华为OD机试统一考试D卷C卷 - 求字符串中所有整数的最小和

题目描述

输入字符串s,输出s中包含所有整数的最小和。 说明: 字符串s,只包含 a-z A-Z ± ; 合法的整数包括

  • 正整数 一个或者多个0-9组成,如 0 2 3 002 102
  • 负整数 负号(-) 开头,数字部分由一个或者多个0-9组成,如 -0 -012 -23 -00023

输入描述

包含数字的字符串

输出描述

所有整数的最小和

用例1

输入

bb1234aa

输出

10

用例2

输入

bb12-34aa

输出

-31

说明

1+2+(-34) = -31

java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
            String line = scanner.nextLine();
            // 用正则表达式分割出所有整数
            String[] numArr = line.split("[^\\d-]+");
            int res = 0;
            for (String num : numArr) {
                if (!num.isEmpty()) {
                    if (num.indexOf("-") == -1) {
                        // 处理正整数
                        res +

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

华为OD机试刷题 文章被收录于专栏

华为OD机试刷题记录机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务