华为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四种语言的解法。