leetcode 816. Ambiguous Coordinates | 816. 模糊坐标(Java)
题目
https://leetcode.com/problems/ambiguous-coordinates/
题解
related topics 说是回溯,我偷了个懒,每次都 new 一个新的 String,就不用回溯了。
思路是:把字符串分割成左右两边,分别生成左 list 和右 list,然后左右 list 两两组合。
class Solution {public List<String> ambiguousCoordinates(String s) {StringBuilder num = new StringBuilder(s.substring(1, s.length() - 1));List<String> result = new ArrayList<>();// 把num分成左右两半,分别拿到所有可能的数字,然后两两组合for (int i = 1; i < num.length(); i++) {List<String> left = getList(new StringBuilder(num.substring(0, i)));List<String> right = getList(new StringBuilder(num.substring(i, num.length())));for (String l : left) {for (String r : right) {result.add("(" + l + ", " + r + ")");}}}return result;}// 给字符串s加小数点,返回所有可能的结果public List<String> getList(StringBuilder s) {List<String> result = new ArrayList<>();for (int i = 1; i < s.length(); i++) {String cur = new StringBuilder(s).insert(i, ".").toString();if (isValid(cur)) result.add(cur);}if (isValid(s.toString())) result.add(s.toString());return result;}public boolean isValid(String s) {if (s.startsWith("00") || s.startsWith(".")) return false;if (s.contains(".") && s.endsWith("0")) return false;// 只要以0开头,所有后面不是小数点的字符串,都是耍流氓if (s.length() > 1 && s.startsWith("0") && s.charAt(1) != '.') return false;return true;}
}
leetcode 816. Ambiguous Coordinates | 816. 模糊坐标(Java)相关推荐
- LeetCode (12.整数转罗马数字)JAVA StringBuffer
LeetCode (12.整数转罗马数字)JAVA StringBuffer 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 1 ...
- LeetCode(13.罗马数字转整数) JAVA Hashmap
LeetCode(13.罗马数字转整数) JAVA Hashmap 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D ...
- 实现图片中文的识别和获取图片上文字的坐标(java实现)
实现图片中文的识别和获取图片上文字的坐标(java实现) 现在利用python来进行图片的文字识别较为普遍,但是如果我们利用常用的家庭电脑来识别,需要的时间比较长,达到20~30 ...
- LeetCode 09:回文数(Java实现)
LeetCode 09:回文数(Java实现) 题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1:输入: 121 输出: true 示例 2:输 ...
- 关于GPS坐标转百度坐标与goolg坐标转百度坐标java代码实现方法
关于GPS坐标转百度坐标与goolg坐标转百度坐标java代码实现方法 百度显示坐标经过了两次加密所以需要转换. <pre name="code" class="j ...
- [LeetCode]187. 重复的DNA序列(java实现)暴力 + 哈希
[LeetCode]187. 重复的DNA序列(java实现) 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. 总结 1. ...
- LeetCode 816. 模糊坐标
1. 题目 我们有一些二维坐标,如 "(1, 3)" 或 "(2, 0.5)",然后我们移除所有逗号,小数点和空格,得到一个字符串S.返回所有可能的原始字符串到 ...
- LeetCode 674. Longest Continuous Increasing Subsequence--python,Java,C++解法
此题链接:Longest Continuous Increasing Subsequence - LeetCode Given an unsorted array of integers, find ...
- LeetCode hard 84. Largest Rectangle in Histogram--python,java 15行,c++ 15行 解法
题目地址: Given n non-negative integers representing the histogram's bar height where the width of each ...
最新文章
- cocos2d-x JS 获取当前系统时间(解决屏幕双击点击事件)
- python和前端之HTML的激情
- ionic3学习之Android平台打包方式
- FreeBSD学习笔记25-安装DHCP服务
- 物联网将推动半导体产业继续增长
- UIBarButtonSystemItem 各种款式
- factorybean 代理类不能按照类型注入_Spring注解驱动开发之四——@Import快速导入组件、FactoryBean 定义工厂注册组件...
- 【洛谷3377】 左偏树(可并堆)
- 查询手机号段对应地区编码_2020陕西专升本考试今日起查询成绩啦
- python excel 数据匹配实现vlookup功能_如何用python实现excel中的vlookup功能?
- java 线程一起画图_java 多线程画图 不显示过程
- AngularJS-compareDirective.js 验证指令
- PyTorch系列入门到精通——生成对抗网络一瞥
- 机器学习、深度学习需要哪些数学知识?✅
- win10设置任务栏全透明、免安装第三方软件
- 改进的cholesky matlab,矩阵的Cholesky分解的Matlab实现
- wamp5数据库密码修改
- Latex带序号的项目符号列表
- java横向导出excel_JavaWeb POI 导出Excel
- 计算机网络协会宣传文案,心理协会 | 一千句招新文案,不及你出现的一刻
热门文章
- 牛客多校7 - A National Pandemic(树链剖分+线段树)
- CodeForces - 1325D Ehab the Xorcist(构造+异或)
- HDU - 5157 Harry and magic string(回文自动机)
- 计算机硬盘满了怎么解决,使用SSD硬盘空间清理 C盘爆满怎么办
- linux排序语言,Go语言排序sort的使用
- 如何打造不怕被嗅探的3389登陆
- API---有意思的API
- 自媒体时代的贤内助——AI 视频云
- Socket之UDP服务器【Python】
- 解决Git中的fatal: refusing to merge unrelated histories