• 算法----字符串中的最大奇数


    题目

    给你一个字符串 num ,表示一个大整数。请你在字符串 num 的所有 非空子字符串 中找出 值最大的奇数 ,并以字符串形式返回。如果不存在奇数,则返回一个空字符串 “” 。

    子字符串 是字符串中的一个连续的字符序列。

    示例 1:

    输入:num = “52”
    输出:“5”
    解释:非空子字符串仅有 “5”、“2” 和 “52” 。“5” 是其中唯一的奇数。
    示例 2:

    输入:num = “4206”
    输出:“”
    解释:在 “4206” 中不存在奇数。
    示例 3:

    输入:num = “35427”
    输出:“35427”
    解释:“35427” 本身就是一个奇数。

    提示:

    1 <= num.length <= 105
    num 仅由数字组成且不含前导零

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/largest-odd-number-in-string
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    解决方法

        fun largestOddNumber(num: String): String {
            //最后一位是奇数  整个数才是奇数  
            val chars = num.toCharArray()
            for (i in chars.size - 1 downTo 0) {
                if ((num[i] - '0') % 2 != 0) {
                    return num.substring(0, i + 1)
                }
            }
    
            return ""
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    总结

    1.一定要清楚最后一位是奇数 整个数才是奇数。
    这样我从后往前遍历。遇到一个奇数一定是最大的奇数

    2.以前不懂什么叫回不去。以前不懂老师说 回去不
    昨天校门口的狮子。已经不复存在
    你现在再去看。你仍然能看到那头狮子
    但是他却不是昨天那个

    时光匆匆 时光永远回不去

  • 相关阅读:
    提分必练!中创教育PMP全真模拟题分享来喽
    记一次cpu飙升问题排查
    C语言详解系列——关于调试那些事
    Java EE——线程
    6.XML处理
    css设置输入框边框无效或者不展示边框
    leetcode 33.搜索旋转排序数组 二分法
    机器故障预测:未来24小时的决胜时刻!!!
    JavaWeb出现错误提问
    十种经典排序算法总结
  • 原文地址:https://blog.csdn.net/u013270444/article/details/127872928