zoukankan      html  css  js  c++  java
  • leetcode刷题笔记一百七十九题 最大数

    leetcode刷题笔记一百七十九题 最大数

    源地址:179. 最大数

    问题描述:

    给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。

    示例 1:

    输入: [10,2]
    输出: 210
    示例 2:

    输入: [3,30,34,5,9]
    输出: 9534330

    //实际上是针对数字转字符串连接 以字符串形式拼接比较构成结果大小确定位置
    object Solution {
        def largestNumber(nums: Array[Int]): String = {
            if (nums == null || nums.length == 0) return null
            val res = nums.map(_.toString).sortWith((x, y) => (x + y >= y + x)).mkString
            if (res.head == '0') return "0"
            else return res
        }
    }
    
    //自行实现冒泡排序 而不是修改sort的默认比较器
    object Solution {
        def largestNumber(nums: Array[Int]): String = {
    bubSort(nums)
        val r = nums.reverse.mkString
        if(r.charAt(0) == '0') "0" else r
        }
        /** if f larger than l */
      def compare(f: Int, l: Int): Boolean = {
        val fStr = f.toString
        val lStr = l.toString
        if (fStr + lStr > lStr + fStr) true else false
      }
    
      def bubSort(nums: Array[Int]): Unit = {
        for (i <- 0 until nums.length;
             j <- 0 until nums.length - i - 1;
             if compare(nums(j), nums(j + 1))) {
          val tmp = nums(j)
          nums(j) = nums(j + 1)
          nums(j + 1) = tmp
        }
      }
    }
    
  • 相关阅读:
    增删改查, SQL语句,注意事项
    形参
    接收前台的GET/POST请求
    数据库能查出数据,但mybatis查询出返回的结果是null
    resultType
    日期和字符串互转、数据库处理日期
    ajax的简单应用
    设置
    深度解密Go语言之unsafe
    golang中,map作为函数参数是如何传递的
  • 原文地址:https://www.cnblogs.com/ganshuoos/p/13651192.html
Copyright © 2011-2022 走看看