华为OD:求字符串中所有整数的最小和

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

说明:

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

合法的整数包括:

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

输入描述:

包含数字的字符串

输出描述:

所有整数的最小和

用例:

|----|----------|
| 输入 | bb1234aa |
| 输出 | 10 |
| 说明 | 无 |

Java算法源码:

java 复制代码
import java.math.BigInteger;
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println(getResult(sc.nextLine()));    
    }
    public static String getsult(String s){
        boolean isNegative=false;
        StringBuilder negative =new StringBuilder();
        BinInteger ans = new BigInteger("0");
        for(int i=0;i<s.length();i++){
            char c = s.charAt(i);
            if(isNagative){
                negative.append(c);            
            }else{
                ans = ans.add(new BigInteger(c+""));            
            }        
        }else{
            if(isNegative){
                ans = ans.subtract(new BigInteger(negative.toString()));
                negative = new StringBuilder();            
            } 
            isNegative = c =='-';       
        }    
    }
    if(negative.length()>0){
        ans=ans.subtract(new BigInteger(negative.toString()));    
    }
    return ans.toString();
}
}
相关推荐
悟空码字1 分钟前
无缝集成指南,SpringBoot三步接入华为云短信服务
java·springboot·编程技术·后端开发·华为云短信
E_ICEBLUE7 分钟前
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
java·pdf·自动化
C雨后彩虹9 分钟前
无向图染色
java·数据结构·算法·华为·面试
J_HelloWorld10 分钟前
缺页中断:Java高性能存储的隐形推手
java·缺页中断
一代明君Kevin学长15 分钟前
记录一个上手即用的Spring全局返回值&异常处理框架
java·网络·python·spring
坚持就完事了16 分钟前
扫描线算法
算法
鱼跃鹰飞19 分钟前
Leetcode尊享面试100题:252. 会议室
算法·leetcode·面试
悟空码字19 分钟前
SpringBoot整合MyBatis-Flex保姆级教程,看完就能上手!
java·spring boot·后端
程序员-King.20 分钟前
二分查找——算法总结与教学指南
数据结构·算法
爬山算法20 分钟前
Hibernate(43)Hibernate中的级联删除如何实现?
java·python·hibernate