我们有一些二维坐标,如 “(1, 3)” 或 “(2, 0.5)”,然后我们移除所有逗号,小数点和空格,得到一个字符串S。返回所有可能的原始字符串到一个列表中。

原始的坐标表示法不会存在多余的零,所以不会出现类似于"00", “0.0”, “0.00”, “1.0”, “001”, "00.01"或一些其他更小的数来表示坐标。此外,一个小数点前至少存在一个数,所以也不会出现“.1”形式的数字。

最后返回的列表可以是任意顺序的。而且注意返回的两个数字中间(逗号之后)都有一个空格。

示例 1:
输入: “(123)”
输出: ["(1, 23)", “(12, 3)”, “(1.2, 3)”, “(1, 2.3)”]

特殊处理的情况(不能随意插入小数点)

  1. 头尾都为0的情况
  2. 第一个数字为0的情况
  3. 末尾为0或者只有一个0的情况

代码

class Solution {public List<String> ambiguousCoordinates(String S) {List<String> list=new ArrayList<>();for(int i=1;i< S.length()-2;i++)//将字符串分割成两部分{List<String> l=divAmbiguousCoordinates(S,1,i);List<String> r=divAmbiguousCoordinates(S,i+1, S.length()-2);for(int k=0;k<l.size();k++)//连接两部分for(int j=0;j<r.size();j++)list.add('('+l.get(k)+", "+r.get(j)+')');}return list;}public List<String> divAmbiguousCoordinates(String S,int s,int e) {List<String> list=new ArrayList<>();if(S.charAt(s)=='0'&&S.charAt(e)=='0'&&s!=e) return list;//头尾都为0的情况else  if(S.charAt(s)=='0'&&s!=e)   {//第一个数字为0的情况list.add("0."+S.substring(s+1,e+1));return list;}        else  if(S.charAt(e)=='0')   {//末尾为0或者只有一个0的情况list.add(S.substring(s,e+1));return list;} else {//可以随意插入小数点的情况list.add(S.substring(s,e+1));//不插入for(int i=s;i<e;i++)//在i后插入{list.add(S.substring(s,i+1)+'.'+S.substring(i+1,e+1));}return list;}}
}

leetcode816. 模糊坐标相关推荐

  1. LeetCode 816. 模糊坐标

    1. 题目 我们有一些二维坐标,如 "(1, 3)" 或 "(2, 0.5)",然后我们移除所有逗号,小数点和空格,得到一个字符串S.返回所有可能的原始字符串到 ...

  2. leetcode 816. Ambiguous Coordinates | 816. 模糊坐标(Java)

    题目 https://leetcode.com/problems/ambiguous-coordinates/ 题解 related topics 说是回溯,我偷了个懒,每次都 new 一个新的 St ...

  3. 模拟(持续更新、整理)

    链表 两数相加:leetcode-2 两两交换链表只能够的节点:leetcode-24 K个一组翻转链表:leetcode-25 旋转链表:leetcode-61 反转链表II:leetcode-92 ...

  4. java象棋无框架版_Java版中国象棋

    /* *中国象棋Java *作者:yanick *源文件:Chess.java *最后修改时间:2006-11-1 *添加功能:实现了当前棋局的保存 *Chess.java */ import jav ...

  5. 基于LBS功能应用的Geohash方案

    随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆.银行.妹纸等等). 基础数据中,一般保存了目标位置的经纬度:利用用户提供的经纬度,进行对比,从而获得是否在附近. 目标: 查找附近的某某 ...

  6. C#LeetCode刷题-字符串

    字符串篇 # 题名 刷题 通过率 难度 3 无重复字符的最长子串 24.6% 中等 5 最长回文子串 22.4% 中等 6 Z字形变换 35.8% 中等 8 字符串转整数 (atoi) 15.3% 中 ...

  7. java实现中国象棋 源代码

    java实现中国象棋 在网上找了很久中国象棋实现的源代码,终于找到了,下面就是源代码. /**中国象棋Java版V3.0*源文件:Chess.java*添加功能:实现了当前棋局的保存*/import ...

  8. 不愧是大厂牛人!用Java实现象棋小游戏(附超详细,超长究极无敌代码)

    本文实例为大家分享了java实现象棋小游戏的具体代码,供大家参考,具体内容如下 用Eclipse编写 java环境1.8jdk 代码如下 package xiangqi象棋; /***中国象棋Java ...

  9. LBS的球面距离计算及Geohash方案探讨(LBS之一)

     随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆.银行.妹纸等等). 基础数据中,一般保存了目标位置的经纬度:利用用户提供的经纬度,进行对比,从而获得是否在附近. 目标: 查找附近 ...

最新文章

  1. 中文版!学习 TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!(附免费下载)...
  2. iconfont 在vue项目中的应用(icon-component组件)
  3. ffmpeg for android windows,windows10下编译ffmpeg for android
  4. 下面使用计算机动画制作的,2020年最新电大《计算机二维动画制作》形考作业任务01-03网考试题及答案(10页)-原创力文档...
  5. 了解CUDA计算(一)
  6. 一千行MySQL学习笔记(十二)
  7. P3100-[USACO14JAN]建造滑雪场【贪心,dp】
  8. 关于考研与工作(人生规划)的个人思考
  9. 【需求工程】需求依赖矩阵
  10. 如何将FAT32分区直接转为NTFS分区
  11. 设计模式16_策略模式
  12. 韩忠康 5天玩转mysql_玩转MySQL数据库5天就够了(2)
  13. Centos 7 配置 apache 网站
  14. 《码农翻身》各章节阅读链接
  15. Write-back,Write-through及write allocate
  16. 删除计算机硬盘中的文件,硬盘上数据如何彻底删除 硬盘上数据彻底删除方法【详解】...
  17. iphonex 序列号_iPhoneX怎么看序列号?苹果iPhoneX查看序列号的三种方法
  18. 教你从零开始搭建阿里云ESC服务器(建站)新手必看!
  19. php js 对象追加元素,JS添加元素新节点
  20. 用MDA理论分析炉石的职业系统

热门文章

  1. arm-linux-gcc静态编译和动态编译的区别
  2. Nginx负载均衡策略有哪些?知识点总结+面试题解析
  3. 移除html,jsp中的元素
  4. scrapy.Spider的属性和方法
  5. PHP设计模式——策略模式
  6. Java基础知识:Java实现Map集合二级联动4
  7. SharePoint2013 Excel导出好的代码
  8. C#中打开设计视图时报未将对象引用设置到对象的实例
  9. mysqldump造成Buffer Pool污染的研究 [转]
  10. IIS 部署asp.net Provisional headers are shown 在VS2005返回值,部署不返回值