华为OD真题--字符串中最小的整数和--带答案

  1. 华为OD机考题 + 答案

2023华为OD统一考试(A+B卷)题库清单-带答案(持续更新)

2023年华为OD真题机考题库大全-带答案(持续更新)

  1. 面试题

一手真实java面试题:2023年各大公司java面试真题汇总--持续更新

  1. 技术知识

java后端技术汇总 + 中间件 + 架构思想

求字符串中所有整数的最小和

题目

说明

  1. 字符串 s,只包含 a-z``A-Z``+``- ;
  2. 合法的整数包括 1) 正整数 一个或者多个0-9组成,如 0 2 3 002 102 2)负整数 负号 - 开头,数字部分由一个或者多个0-9组成,如 -0 -012 -23 -00023

输入

包含数字的字符串

输出

所有整数的最小和

测试用例:

bb12-34aa->-31

说明:1+2+(-34)

bb1234aa ->10

复制代码
public class MinInteger {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String words = sc.nextLine();
        int minInteger = find(words);
        System.out.println(minInteger);
    }

    public static int find(String words){
        int min = 0;
        //负数值
        Boolean negative = false;
        StringBuffer sb = new StringBuffer();
        //判断是否是整数,最小整数:每个正整数 + 最大负整数
        for (int i = 0; i < words.length();i++){
            if (Character.isDigit(words.charAt(i))){
                //累计正整数值或负数值
                if (!negative){
                    min+= Character.getNumericValue(words.charAt(i));
                } else if (negative) {
                    sb.append(words.charAt(i));
                }
            } else if (String.valueOf(words.charAt(i)).equals("-")) {//判断是否开启负数值累计
                negative = true;
            } else if (negative){
                negative = false;//结束,累加负数值
                min-= Integer.valueOf(sb.toString());
                sb.setLength(0);
            }
        }
        //字符串尾数是负数值
        if (negative){
            min-= Integer.valueOf(sb.toString());
        }
        return min;
    }
}
相关推荐
码爸2 小时前
线性回归算法
算法·机器学习·线性回归
Coder-magician3 小时前
《代码随想录》刷题打卡day51:图论-part09(dijistra堆优化,Bellman_ford算法)
算法·图论
Nil2083 小时前
leetcode 763划分字母区间
算法·leetcode·职场和发展
不会就选b3 小时前
算法日常・每日刷题--<动态规划>20
算法·leetcode·动态规划
别动我齐刘海3 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
青少儿编程课堂4 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
不会就选b4 小时前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展
code2cat4 小时前
Java进阶篇之AtomicLongFieldUpdater:把累计额度留在对象字段中
java·cas·并发编程
WeiXin_DZbishe4 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
泡茶喝茶写代码4 小时前
A股量化数据工程:从 REST 接口到策略信号(第 18 篇):放量缩量异动扫描
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口