LintCode刷题:有效数字
今天第一次是跟随一个博主学习足迹知道有LintCode 和LeetCode这两个刷题网址,专为学编程的同志练手,我希望我可以每天坚持刷一题!!!!
第一次不知道直接点“帮我挑一题”,给了我《有效数字》这道题。一看到这道题感觉还蛮简单的,可写才知道自己的基础 是多么的薄弱,内心那个崩溃啊!而且不知道为什么我在线写的Java程序总是有错的,但是我复制到我eclipse中运行时对的,最后无奈找了这道题的c++版的程序。
题目:有效数字
要求:http://www.cnblogs.com/peijie-tech/p/3540170.html。希望可以得到如下效果:
"0"
=> true
" 0.1 "
=> true
"abc"
=> false
"1 a"
=> false
"2e10"
=> true
程序 :
public class isNumber {public static void main(String[] args) {String str="123456";isNumber a=new isNumber();boolean result=a.effNumber(str);System.out.print(str+'是'+result);}public boolean effNumber(String str){return str.matches("[0-9]+");}}
c++程序:
class Solution {
public:/*** @param s the string that represents a number* @return whether the string is a valid number*/bool isNumber(string& s) {// Write your code hereint start = 0;int end = s.length() - 1;// trim leading spaceswhile (start <= end && s[start] == ' ')start++;if(start > end) //emptyreturn false;//trim trailing spaceswhile(s[end] == ' ')end--;// skip leading +/-if (s[start]== '+' || s[start] == '-')start++;bool num = false; // is a digitbool dot = false; // is a '.'bool exp = false; // is a 'e'while(start <= end) {if (s[start] >= '0' && s[start] <= '9') {num = true;} else if (s[start] == '.') {if (exp || dot)return false;dot = true;} else if (s[start] == 'e') {if(exp || num == false)return false;exp = true; num = false;} else if (s[start] == '+' || s[start] == '-') {if (s[start - 1] != 'e')return false;} else {return false;}start++;}return num;}
};
大家还有什么比较好的方法告诉我一下哈!最好是Java版的,参考博文:http://www.cnblogs.com/peijie-tech/p/3540170.html
LintCode刷题:有效数字相关推荐
- 二、lintcode刷题记录--二叉树的路径和
LintCode刷题记录---二叉树的路径和(效率可能没有那些专业的高,主要是代码结构比较简单) ) 题目地址:http://www.lintcode.com/zh-cn/problem/binary ...
- LintCode刷题(入门篇)
最近在玩LintCode上面的算法题.下面分享一下部分题目的答案.如果其他同学有更好的答案,可以和我交流讨论,本人菜鸟一个,各位大佬多指点. 同时说一下,这个上面的二叉树 和 链表 我不懂,所以这类题 ...
- LintCode刷题——不同的二叉查找树I、II
不同的二叉查找树I: 题目内容: 给出 n,问由 1...n 为节点组成的不同的二叉查找树有多少种? 样例: 给出n = 3,有5种不同形态的二叉查找树: 1 3 3 2 1\ / / / \ \3 ...
- lintcode刷题 14. 二分查找,迭代和二分法Python实现
14. 二分查找 描述 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1. ...
- LintCode刷题——打劫房屋I、II、III
打劫房屋I: 题目内容: 假设你是一个专业的窃贼,准备沿着一条街打劫房屋.每个房子都存放着特定金额的钱.你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该 ...
- 查询年龄不大于 20 岁的教师所教的所有课程的课程名(Lintcode刷题)
题目如下 描述 请编写 SQL 语句, 联合教师表(teachers)和课程表(courses),查询课程表中年龄不大于 20 岁的教师所教的所有课程的课程名(name). 表定义:teachers( ...
- LintCode刷题——Largest Divisible Subset
题目内容: Given a set of distinct positive integers, find the largest subset such that every pair (Si, S ...
- LintCode刷题笔记-- BackpackIII
标签:动态规划 问题描述: Given n items with size Ai and value Vi, and a backpack with size m. What's the maximu ...
- c++ LintCode刷题记录之52. 下一个排列
描述 给定一个整数数组来表示排列,找出其之后的一个排列 解释:只需要找到下一个排列,比如(3,2,1)没有下一个排列就是(1,2,3).也说明如果序列按递减排列就没有下一个.所以要换位置的第一个数一定 ...
最新文章
- 一个多年网络工程师总结的工作实用经验
- Android ANR详解
- 基于AVR和MT8870的远程家电控制系统设计
- 线上 CPU100% 异常案例:一个正则表达式引发的血案
- VC6导入和使用二进制资源
- 抗锯齿_最好的抗锯齿,画质保留提升帧数
- 计算机基础知识教案总结,计算机基础知识教学设计
- 图像处理学习--前篇--像素相关
- thinking in java -- notes-2
- npm切换淘宝源,yarn切换淘宝源
- RegularExpressions(2) RegularExpressions 支持的正则表达式语法
- android 多图片优化工具,总结Android App内存优化之图片优化
- sqlserver企业版秘钥_SQLserver 2012下载 (附密钥)
- 金蝶计算机快捷键,金蝶KIS专业版常用快捷键列表.doc
- Minesweeper 蓝桥杯 扫雷游戏(化繁为简)(摒弃多层循环)
- MySQL高级篇——事务
- pure-ftpd 搭建 FTP 服务器
- java 两个url对比_一个URL模式中的两个slu ..
- JVM 垃圾回收简介
- AI美图相机原型(智能P图、AI换脸)