给你一个非常大的整数 n 和一个整数数字 x ,大整数 n 用一个字符串表示。n 中每一位数字和数字 x 都处于闭区间 [1, 9] 中,且 n 可能表示一个 负数 。

你打算通过在 n 的十进制表示的任意位置插入 x 来 最大化 n 的 数值 ​​​​​​。但 不能 在负号的左边插入 x 。

  • 例如,如果 n = 73 且 x = 6 ,那么最佳方案是将 6 插入 7 和 3 之间,使 n = 763 。
  • 如果 n = -55 且 x = 2 ,那么最佳方案是将 2 插在第一个 5 之前,使 n = -255 。

返回插入操作后,用字符串表示的 n 的最大值。

示例 1:

输入:n = "99", x = 9
输出:"999"
解释:不管在哪里插入 9 ,结果都是相同的。

示例 2:

输入:n = "-13", x = 2
输出:"-123"
解释:向 n 中插入 x 可以得到 -213、-123 或者 -132 ,三者中最大的是 -123 。

提示:

  • 1 <= n.length <= 105
  • 1 <= x <= 9
  • n​​​ 中每一位的数字都在闭区间 [1, 9] 中。
  • n 代表一个有效的整数。
  • 当 n 表示负数时,将会以字符 '-' 开始。

code

class Solution {public String maxValue(String n, int x) {int flag = n.indexOf("-");int length = n.length();StringBuilder sb = new StringBuilder();boolean done = false;if (flag == -1) {// 正数for (int i = 0; i < length; i++) {int temp = n.charAt(i) - '0';if (x > temp && !done) {sb.append(x);sb.append(temp);done = true;} else {sb.append(temp);}}if (!done) {sb.append(x);}} else {// 负数sb.append("-");for (int i = 1; i < length; i++) {int temp = n.charAt(i) - '0';if (x < temp && !done) {if (i == 1 && (temp == 0 || x == 0)) {sb.append(temp);continue;}sb.append(x);sb.append(temp);done = true;} else {sb.append(temp);}}if (!done) {sb.append(x);}}return sb.toString();}
}

5773. 插入后的最大值相关推荐

  1. mysql 事务 返回插入的值_Mysql同一个事务内记录成功插入后查询不出来

    背景: 1)mysql:Ver 14.12 Distrib 5.0.45, for Win32 (ia32) 2)mysql odbc驱动:3.51.22 3)vs2005 4)客户端用ado,odb ...

  2. 去除U盘插入后自动弹框的问题

    U盘插入后自动弹框,这个很影响平时的操作,现在介绍下去除的办法: 1.   打开"控制面板",选择"硬件和声音",,点击进入. 把"为所有媒体和设备使 ...

  3. 关于移动硬盘插入后无显示的问题

    项目场景: 最近在做实验,虚拟机都装在移动硬盘上,有一天晚上突然发现移动硬盘插入后无反应(有提示音但一直没显示磁盘),一开始还以为是local print queue驱动的问题,因为刚好驱动精灵诊断该 ...

  4. CAD中插入外部参照字体会变繁体_为什么CAD图纸作为外部参照插入后有些文字消失?...

    下面是本公众号文章分类目录,点击标题文字可打开分类文章列表: 安装卸载  异常.退出  文件及输入输出  基本操作技巧  设置及相关问题  界面和显示  快捷键  视图设置 选择及组 坐标输入.定位  ...

  5. 银行卡在ATM机器上插入后显示IC磁条芯片卡拒绝交易解决办法

    描述:银行卡在ATM机器上插入后显示IC磁条芯片卡拒绝交易解决办法 步骤: 取出银行卡,将银行卡放在银行卡IC卡感应位置 ATM机主页面选择 非IC卡业务,最后会识别并可以取钱,成功 成功后将银行卡再 ...

  6. CAD中插入外部参照字体会变繁体_为什么在原点附近的图纸作为外部参照插入后却离插入点很远?...

    下面是本公众号文章分类目录,点击标题文字可打开分类文章列表: 安装卸载  异常.退出  文件及输入输出  基本操作技巧  各种设置及相关问题  界面和显示相关问题  快捷键  视图设置和调整  图层  ...

  7. 【Get深一度】Microsoft Office 2013 Word中图片插入后变模糊解决办法

     Microsoft Office 2013 Word中图片插入后变模糊解决办法 作者在使用Word时发现插入的图片变模糊了,这个问题以前也经常遇到,只是从未上心过,这次花点心思解决一下,也给众多 ...

  8. Word图片插入后只显示最底下一行,输入文字后后面的文字不见了(解决办法(全程简洁无废话))

    问题1:图片插入后,只显示最底下一行 问题2:输入文字后,后面的文字不见了 问题1:图片插入后,只显示最底下一行 如下图: 解决办法: ① 选中图片,并选择"段落" ② 行距修改为 ...

  9. oracle触发器输出信息,插入后oracle触发器打印

    我刚开始学习触发器.我想在插入测试后给用户一个通知'插入成功'.插入后oracle触发器打印 这是我的代码. create table test (id number, name varchar2(3 ...

  10. 【短视频运营】短视频剪辑 ⑤ ( 视频素材使用 | 设置插入后的视频素材属性 | 设置画面 | 设置音频 | 设置变速 | 设置动画 | 设置调节 )

    文章目录 一.视频素材使用 二.设置插入后的视频素材属性 1.设置画面 2.设置音频 3.设置变速 4.设置动画 5.设置调节 一.视频素材使用 视频素材 , 可以插入到 视频片段 之间 的位置 ; ...

最新文章

  1. 基于gulp的前端脚手架(二)
  2. Linux下9个有用的touch命令示例
  3. 《剑指 Offer I》刷题笔记 1 ~10 题
  4. Scala 学习之面向对象(3)
  5. Web前端开发工具和框架
  6. 逛Github网站显示中文教程
  7. 洛谷P2440 木材加工 —二分答案
  8. 思科模拟器(学生版)、汉化包的下载及其安装步骤
  9. 方程中变量不可分离的偏微分方程的求解
  10. Java面试官:java的跨平台原理
  11. 光学基础概念(camera相关)
  12. python flask自定义404错误页面
  13. C/C++语言入门——冒泡排序问题
  14. python中用于绘制各种图形、标注文本_在python中的图形上绘制常量文本-问答-阿里云开发者社区-阿里云...
  15. MySQL 计算两个日期/时间之间相差的天数、分钟数、秒数...
  16. 量化研究 | CTA择时出场策略指南大全
  17. 三维空间中的旋转--旋转向量
  18. not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
  19. Duilib创建添加自定义控件
  20. win11系统截图的几种方法

热门文章

  1. 关于相机(摄相头)的选用
  2. ubuntu18.04前置面板声音输出方法
  3. TM4C123-使用ROM中的函数库
  4. 软件设计·体系结构设计(Architectual Design)
  5. 这一周我学习了什么(一)
  6. 5G时代下,如何做好个人信息保护?
  7. WIN10 WIFI热点 手机连接显示无网络连接问题解决
  8. BZOJ1577: [Usaco2009 Feb]庙会捷运Fair Shuttle 贪心+线段树
  9. 30行Python代码 刷王者荣耀金币
  10. 计算机网络里ping是什么意思,Ping命令有什么作用,Ping通后显示的数据是什么意思?...