抽象排序

  • 前言
  • 一、最大数
  • 二、抽象规则
  • 总结
  • 参考文献

前言

最难的题不过多个小问题拼接,但还有两种很难的题,是数学问题/抽象问题。如抽象二分/抽象排序。
本文通过最大数来练习抽象排序之将排序规则抽象。

一、最大数

二、抽象规则

package everyday.medium;import java.util.ArrayList;
import java.util.List;// 最大数
public class LargestNumber {/*target:将数字拼接,看谁大。就是给数字排个序,但是要以字符串比较的规则来排(规则:谁在前拼接的字符串更大。),所以就算抽象排序,抽象了排序规则。*/public String largestNumber(int[] nums) {//todo 抽象规则,自己排序实现,别sortList<Integer> arr = new ArrayList<>();// 把元素包装成Integer,才能传比较器。for (int num : nums) arr.add(num);// 比较:自己定义比较规则。arr.sort((o1, o2) -> new StringBuilder().append(o2).append(o1).compareTo(new StringBuilder().append(o1).append(o2)));// 拿到数字的拼接字符串。StringBuilder sb = new StringBuilder();for (Integer val : arr) sb.append(val);// bug1:当全部为0时,会出现前导为0// return sb.toString();return sb.charAt(0) == '0' ? "0" : sb.toString();}
}

总结

1)抽象排序

参考文献

[1] LeetCode 最大数

最大数[抽象排序之抽象规则]相关推荐

  1. Java 设计模式 Day1 之面向抽象原则:抽象(abstract)类的设计与应用分析

    文章目录 前言 一.抽象(abstract)类的设计要点 二.抽象类的应用实例 2.1.创建一个抽象类 2.2.创建抽象类非抽象子类 2.3.通过上转型对象调用子类方法 总结 前言 面向抽象原则是面向 ...

  2. java 抽象数据类型_java抽象数据类型

    抽象数据类型 抽象数据类型是描述数据结构的一种理论工具.在介绍抽象数据类型之前我们先介绍一 下数据类型的基本概念. 数据类型(data type)是一组性质相同的数据元素的集合以及加在这个集合上的一组 ...

  3. 关于字符串排序的别的规则

    关于字符串排序的别的规则,相关链接:http://www.dfwlt.com/forum.php?mod=viewthread&tid=467 Delphi XE5 实现Android启动不黑 ...

  4. php ast 抽象语法树,抽象语法树(AST)

    抽象语法树入门到放弃? 抽象语法树(Abstract syntax tree AST)在计算机科学中,抽象语法和抽象语法树其实是源代码的抽象语法结构的树状表现形式 为什么是抽象的? 前端工程化,离不了 ...

  5. 深入浅出之抽象与非抽象

    一.虚函数&纯需函数 虚函数 是在基类中使用关键字 virtual 声明的函数.在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数. 我们想要的是在程序中任意点可以根据所 ...

  6. 计算机科学中抽象的作用,抽象释义

    在计算机科学中,抽象释义是基于在有序集合特别是格上的单调函数,计算机程序的语义的可靠逼近理论.它可以被看作对计算机程序的部分执行,获取关于它的语义信息(比如,控制结构.信息流)而不进行所有计算. 它的 ...

  7. scala java抽象理解_scala – 抽象覆盖如何在Java代码方面起作用?

    它来了: 它简短,抽象覆盖def m()允许从方法调用super.m()并且当一个特征在所有其他类型之后混合时,这个超级调用动态地代替类型创建,例如 trait Printer { def print ...

  8. java 反射抽象_Java实现抽象工厂模式+java的反射的机制

    Java的反射机制: JAVA反射机制是就是运行的状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法 ...

  9. 简单工厂、工厂方法、抽象工厂、抽象工厂加简单工厂

    简单工厂模式:简单工模式时类的创建模式,又叫做静态工厂方法(static Factory Method).简单工厂模式是一个工厂对象决定创建出哪一种产品类的实例.它存在的目的很简单:定义一个创建对象的 ...

  10. 设计模式之抽象工厂(抽象工厂 + 反射 + 配置文件)

    目录 1.抽象工厂的概念 ​2.抽象工厂的结构图 3.抽象工厂设计模式的练习示例 4.抽象工厂设计模式的练习示例结构图 5. 抽象工厂 + 反射 + 配置文件 5.1:什么是java的反射机制? 5. ...

最新文章

  1. 降维后的高维特征的参数_高维超参数调整简介
  2. Java断点续传(基于socket与RandomAccessFile的实现)
  3. Zepto.js库touch模块代码解析
  4. 用脚写字考上985!无臂硕士开学报到,宿舍设计太细节了……
  5. SpringBoot使用@Transactional的类手动注入失败
  6. LeetCode 143 重排链表-中等
  7. 支付宝小程序公测!教程新鲜出炉
  8. Android功耗优化(10)---功耗基础知识
  9. .NET开发人员应该下载的十个必备工具(1)
  10. qlv格式转Mp4格式
  11. SQL Server之dbo
  12. 双屏计算机主机是什么,电脑双屏显示有人知道关于一个主机两个显示器的问题吗 爱问知识人...
  13. 计算机考试没来得及关掉文档,计算机二级考试挽回受损WORD文档的方法
  14. 【OpenCV入门教程之五】 分离颜色通道多通道图像混合
  15. 2023秋招--梦加网络--游戏客户端--二面面经
  16. Android app性能优化解决卡慢顿之布局优化
  17. 【比特鹏哥C语言_1.初识C语言】
  18. charles 抓包显示unknown
  19. 自然语言处理领域的数据增广方法
  20. Windows垃圾文件清理--一键清理系统垃圾

热门文章

  1. Java8新特性三:常用的函数式接口(Supplier,Consumer,Predicate,Function)
  2. SEVERE: Could not contact [localhost:8005] (base port [8005] and offset [0]). Tomcat may not be runn
  3. ansible常用模块
  4. KeeperErrorCode = ConnectionLoss for /dubbo报错问题解决方法
  5. 尼古拉斯.海伦.波特
  6. lua php 触摸精灵,触动精灵,触摸精灵-lua脚本入门
  7. Android Studio实现百度地图定位(显示经纬度和地址)
  8. Typora 语法结构与功能
  9. 计算机毕设(附源码)JAVA-SSM基于java学科竞赛管理系统
  10. Photoshop-为图层添加一个镜头光晕