每日leetcode算法题:2042检查句子中的数字是否递增
题目说明:
乍一看,有一个相当简单的方式:
题解方式一:
1、将字符串进行分隔,并将数字放进list里备用
2、比较list里面数字的大小
public boolean areNumbersAscending(String s) { List<Integer> list = new ArrayList<>(); // 用于存储分隔后的正整数 String[] sp = s.split(" "); // 将字符串按空格进行分隔 for (String str : sp) { if (isNumeric(str)) { list.add(Integer.parseInt(str)); } } // 比较list相邻两个数字的大小 int temp = 0; for (int i : list) { if (i <= temp) { return false; } temp = i; } return true; } // 判断字符串是否是数字 public static boolean isNumeric(String str) { try { Integer.parseInt(str); return true; } catch (Exception e) { return false; } }
题解一写完感觉美滋滋,一提交傻眼了,思路可以,但效率不高。
那就推到重来呗:
于是有了接下来一版:
public boolean areNumbersAscending(String s) {
List<Integer> list = new ArrayList<>();
String[] sp = s.split(" ");
for (String str : sp) {
if (isNumeric(str)) list.add(Integer.parseInt(str));
}
for (int i=0;i<list.size()-1;i++) {
if (list.get(i+1) <= list.get(i)) {
return false;
}
}
return true;
}
public static boolean isNumeric(String str){
for(int i=str.length();--i>=0;){
int chr=str.charAt(i);
if(chr<48 || chr>57)
return false;
}
return true;
}
执行结果如图所示!
如果大家有更好的方式方法,欢迎评论区留言。
相关文章
- Leetcode: Kth Largest Element in an Array
- Leetcode: Median of Two Sorted Arrays
- LeetCode-1.两数之和
- 【LeetCode-面试算法经典-Java实现】【129-Sum Root to Leaf Numbers(全部根到叶子结点组组成的数字相加)】
- JS Leetcode 278. 第一个错误的版本 题解分析
- [LeetCode] Sort Colors
- [LeetCode]5398. 统计二叉树中好节点的数目
- [LeetCode][类实现]5422. 子矩形查询
- [LeetCode]122. 买卖股票的最佳时机 II
- 【Java数据结构与算法】LeetCode 0024.两两交换链表中的节点
- 【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
- 143、【回溯算法】leetcode ——738. 单调递增的数字:暴力法+贪心法(C++版本)
- 140、【贪心算法】leetcode ——763. 划分字母区间(区间边界更新)(C++版本)
- 139、【贪心算法】leetcode ——435. 无重叠区间(更新区间+记录不重叠区间)(C++版本)
- 136、【贪心算法】leetcode ——860. 柠檬水找零(贪心策略)(C++版本)
- 125、【回溯算法】leetcode ——47.全排列 II:visited去重(C++版本)
- [LeetCode] Restore IP Address
- leetcode - Restore IP Addresses
- [LeetCode] 1051. Height Checker 身高检查器
- [LeetCode] Global and Local Inversions 全局与局部的倒置
- [LeetCode] Random Point in Non-overlapping Rectangles 非重叠矩形中的随机点
- [LeetCode] 754. Reach a Number 达到一个数字
- [LeetCode] 273. Integer to English Words 整数转为英文单词
- [LeetCode] 264. Ugly Number II 丑陋数之二
- LeetCode二叉树的最大深度
- leetcode算法144.二叉树的前序遍历
- leetcode算法27.移除元素