华为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();
}
}
相关推荐
遇印记几秒前
大二java学习笔记:二维数组
java·笔记·学习
前端小刘哥13 分钟前
新版视频直播点播EasyDSS平台,让跨团队沟通高效又顺畅
算法
小杨同学yx20 分钟前
有关maven的一些知识点
java·开发语言
小韩博26 分钟前
IDEA的简单使用
java·ide·intellij-idea
我是华为OD~HR~栗栗呀35 分钟前
华为od-21届考研-C++面经
java·c语言·c++·python·华为od·华为·面试
埃泽漫笔37 分钟前
RabbitMQ 核心概念解析
java·mq
oioihoii42 分钟前
C++ 中的类型转换:深入理解 static_cast 与 C风格转换的本质区别
java·c语言·c++
重生之我要当java大帝43 分钟前
java微服务-尚医通-编写医院设置接口下
java·开发语言·sql
明月(Alioo)43 分钟前
机器学习入门,无监督学习之K-Means聚类算法完全指南:面向Java开发者的Python实现详解
python·算法·机器学习
叶梅树1 小时前
从零构建A股量化交易工具:基于Qlib的全栈系统指南
前端·后端·算法