华为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();
}
}
相关推荐
JH30735 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
颜酱6 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919106 小时前
C++代码风格检查工具
开发语言·c++·算法
yugi9878386 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
Coder_Boy_7 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
DuHz7 小时前
超宽带脉冲无线电(Ultra Wideband Impulse Radio, UWB)简介
论文阅读·算法·汽车·信息与通信·信号处理
invicinble7 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
Polaris北极星少女7 小时前
TRSV优化2
算法
较真的菜鸟7 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖7 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言