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
        }
      }
    }
    
  • 相关阅读:
    elasticsearch的安装
    default_scope and unscoped
    RSpec + Spork + Autotest 给Rails 3添加快速自动化测试
    ubuntu收过带个winmail.dat的邮件
    网站链接
    github
    js笔记
    mba首页js
    mba精锐视角js
    mongodb常用命令
  • 原文地址:https://www.cnblogs.com/ganshuoos/p/13651192.html
Copyright © 2011-2022 走看看