1291. 顺次数
2021/5/25 10:54:56
本文主要是介绍1291. 顺次数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 题目
我们定义「顺次数」为:每一位上的数字都比前一位上的数字大 1 的整数。
请你返回由 [low, high] 范围内所有顺次数组成的 有序 列表(从小到大排序)。
提示:
10 <= low <= high <= 10^9
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sequential-digits
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 示例
1 输出:low = 100, high = 300 2 输出:[123,234]
3. 题解
注意下本文的提示,范围最大为9位数,所以直接枚举即可。采用的方法是滑动窗口;
定义最长串:String s = "123456789";
然后以最小长度到最大长长度在最长串上截取;
4. Code
public class SequentialDigitsA { public List<Integer> sequentialDigits(int low, int high) { List<Integer> ans = new ArrayList<>(); String s = "123456789"; int min_len = String.valueOf(low).length(), max_len = String.valueOf(high).length(); while (min_len <= max_len) { int temp = 0; for (int i = 0; i <= 9 - min_len; i++) { temp = Integer.parseInt(s.substring(i, i + min_len)); if (temp < low) { continue; } else if (temp >high) { break; } else { ans.add(temp); } } min_len++; } return ans; } public static void main(String[] args) { int low = 1000, high = 13000; System.out.println(new SequentialDigitsA().sequentialDigits(low, high)); } }
这篇关于1291. 顺次数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南