Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[剑指offer] 表示数值的字符串

[剑指offer] 表示数值的字符串

作者头像
尾尾部落
发布于 2018-09-04 07:17:16
发布于 2018-09-04 07:17:16
86100
代码可运行
举报
文章被收录于专栏:尾尾部落尾尾部落
运行总次数:0
代码可运行
题目描述

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100″,”5e2″,”-123″,”3.1416″和”-1E-16″都表示数值。 但是”12e”,”1a3.14″,”1.2.3″,”+-5″和”12e+4.3″都不是。

解题思路

设置三个标志符分别记录“+/-”、“e/E”和“.”是否出现过。

  • 对于“+/-”: 正常来看它们第一次出现的话应该出现在字符串的第一个位置,如果它第一次出现在不是字符串首位,而且它的前面也不是“e/E”,那就不符合规则;如果是第二次出现,那么它就应该出现在“e/E”的后面,如果“+/-”的前面不是“e/E”,那也不符合规则。
  • 对于“e/E”: 如果它的后面不接任何数字,就不符合规则;如果出现多个“e/E”也不符合规则。
  • 对于“.”: 出现多个“.”是不符合规则的。还有“e/E”的字符串出现“.”也是不符合规则的。 同时,要保证其他字符均为 0-9 之间的数字。
参考代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Solution {
    public boolean isNumeric(char[] str) {
        int len = str.length;
        boolean sign = false, decimal = false, hasE = false;
        for(int i = 0; i < len; i++){
            if(str[i] == '+' || str[i] == '-'){
                if(!sign && i > 0 && str[i-1] != 'e' && str[i-1] != 'E')
                    return false;
                if(sign && str[i-1] != 'e' && str[i-1] != 'E')
                    return false;
                sign = true;
            }else if(str[i] == 'e' || str[i] == 'E'){
                if(i == len - 1)
                    return false;
                if(hasE)
                    return false;
                hasE = true;
            }else if(str[i] == '.'){
                if(hasE || decimal)
                    return false;
                decimal = true;
            }else if(str[i] < '0' || str[i] > '9')
                return false;
        }
        return true;
    }
}

版权属于: 尾尾部落

原文地址: https://cloud.tencent.com/developer/article/1327720

转载时必须以链接形式注明原始出处及本声明。

window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"1","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName('head')0||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用Python在工作中“偷懒”
这类工作大部分是重复性工作,但占据了你比较多的时间,有时候用蛮力做的事情,可以有更省时省力的办法。
数据森麟
2019/11/14
8770
超详细Python处理Excel表格
「处理Excel表格需要用到openpyxl模块,该模块需要手动安装pip install openpyxl」
润森
2022/08/18
3.3K0
超详细Python处理Excel表格
如何利用Python实现工作中的自动化
这类工作大部分是重复性工作,但占据了你比较多的时间,有时候用蛮力做的事情,可以有更省时省力的办法。 作为一名优秀的社会主义接班人,肯定都会有将工作任务自动化的意识,于是我去了解了一下身边不同岗位(HR、产品、运营、市场、数据分析师等)每天需要面对的重复性劳动(肯定会有不全,各位大佬不要喷我~)
润森
2022/08/18
5760
如何利用Python实现工作中的自动化
手把手教你4种方法用Python批量实现多Excel多Sheet合并
大家好,我是崔艳飞。前两天给大家分享了Python自动化文章:手把手教你利用Python轻松拆分Excel为多个CSV文件,而后在Python进阶交流群里边有读者遇到一个问题,他有很多个Excel表格,他需要对这些Excel文件进行合并。
Python进阶者
2021/03/09
2.2K0
手把手教你4种方法用Python批量实现多Excel多Sheet合并
excel办公小能手,python合并多个EXCEL表的两种方法
手里头有一份网站关键词数据,当然是来源于工具,站长之家工具的网站查询数据,百度搜索前百名的网站数据,总共96个excel文档数据,至于为什么不是一百个excel文档,答案是有重复网站覆盖了,比如某些大站,比如,百度自身网站,知乎,京东,阿里网站等!
二爷
2020/11/03
1.1K0
excel办公小能手,python合并多个EXCEL表的两种方法
Python自动化:Python操作Excel的多种方式Pandas+openpyxl+xlrd
使用pandas操作Excel文件主要涉及读取(read_excel)和写入(to_excel)两个主要操作。
小白的大数据之旅
2024/11/20
8350
Python3分析Excel数据
使用xlrd和xlwt扩展包,确定工作簿中工作表的数量、名称和每个工作表中行列的数量。 1excel_introspect_workbook.py
用户1250179
2018/08/02
3.5K0
Python对比VBA实现excel表格合并与拆分
日常工作中经常需要对一系列的表进行合并,或者对一份数据按照某个分类进行拆分,今天我们介绍Python和VBA两种实现方案供大家参考~
可以叫我才哥
2021/08/05
3.2K0
可能是全网最完整的 Python 操作 Excel库总结!
在之前的办公自动化系列文章中,我已经对Python操作Excel的几个常用库openpyxl、xlrd/xlwt、xlwings、xlsxwriter等进行了详细的讲解。
小F
2021/03/18
9.4K0
可能是全网最完整的 Python 操作 Excel库总结!
不吹不黑!Python办公自动化,全网最全整理!
官方文档:https://xlrd.readthedocs.io/en/latest/
释然IT杂谈
2023/08/18
1.5K0
不吹不黑!Python办公自动化,全网最全整理!
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
官方文档:https://xlrd.readthedocs.io/en/latest/
Python小二
2020/09/08
7.9K0
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
【4】python读写文件操作---详细讲解!
python读写文件详细讲解! 1.操作xls格式的表格文件: 读取:xlrd 写入:xlwt 修改(追加写入):xlutils 2.操作xlsx格式的表格文件: 读取/写入:openpyxl 一. 读取Excel 1. 导入读取库 import xlrd 2. 打开Excel文件读取数据 data = xlrd.open_workbook('xxx.xls') 3. 获取一个工作表 table = data.sheets()[0] #通过索引顺序获取 table = data
汀丶人工智能
2022/12/21
1.2K0
【4】python读写文件操作---详细讲解!
Python让Excel飞起来—批量进行数据分析
corr()函数默认计算的是两个变量之间的皮尔逊相关系数。该系数用于描述两个变量间线性相关性的强弱,取值范围为[-1,1]。系数为正值表示存在正相关性,为负值表示存在负相关性,为0表示不存在线性相关性。系数的绝对值越大,说明相关性越强。- 上表中第1行第2列的数值0.982321,表示的就是年销售额与年广告费投入额的皮尔逊相关系数,其余单元格中数值的含义依此类推。需要说明的是,上表中从左上角至右下角的对角线上的数值都为1,这个1其实没有什么实际意义,因为它表示的是变量自身与自身的皮尔逊相关系数,自然是1。- 从上表可以看到,年销售额与年广告费投入额、成本费用之间的皮尔逊相关系数均接近1,而与管理费用之间的皮尔逊相关系数接近0,说明年销售额与年广告费投入额、成本费用之间均存在较强的线性正相关性,而与管理费用之间基本不存在线性相关性。前面通过直接观察法得出的结论是比较准确的。- 第2行代码中的read_excel()是pandas模块中的函数,用于读取工作簿数据。3.5.2节曾简单介绍过这个函数,这里再详细介绍一下它的语法格式和常用参数的含义。- read_excel(io,sheet_name=0,header=0,names=None,index_col=None,usecols=None,squeeze=False,dtype=None)
润森
2022/09/22
6.6K0
Python让Excel飞起来—批量进行数据分析
Python读取写入数据到Excel文件
程序员洲洲
2024/06/07
1560
读Python数据分析基础之Excel读写与处理
对于业务型数据分析来说,Excel可以说是打交道最多的软件了,可以说没有之一。之前有比较系统地读过《Python数据分析基础》(Foundations for Analysis with Python),写了一些笔记,这里只选取关于Excel的部分。
蛰虫始航
2019/09/28
1.9K0
Python操作Excel模块,你猜哪家强?
导读:Python操作excel的模块简直不要太多,今天就为大家比较下各模块之间的优缺点。
IT阅读排行榜
2020/02/20
1.9K0
Python操作Excel模块,你猜哪家强?
Pandas专家总结:指定样式保存excel数据的 “N种” 姿势!
对于这个pandas对象,如果我们需要将其保存为excel,有那些操作方式呢?首先,最简单的,直接保存:
Python进阶者
2021/01/08
19.1K0
Pandas专家总结:指定样式保存excel数据的 “N种” 姿势!
Python处理Excel数据的方法[通俗易懂]
当Excel中有大量需要进行处理的数据时,使用Python不失为一种便捷易学的方法。接下来,本文将详细介绍多种Python方法来处理Excel数据。
全栈程序员站长
2022/11/18
5.8K0
Python办公自动化:"破解WPS会员"之文档拆分合并
看到标题是不是有点惊讶,博主怎么走上了很刑的路线?看完此篇文章,教你自己做一个无限使用永久免费的文档拆分合并小工具
小宇-xiaoyu
2025/01/14
1560
Python办公自动化:"破解WPS会员"之文档拆分合并
使用 Python 合并多个格式一致的 Excel 文件
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
耕耘实录
2019/12/10
3K0
使用 Python 合并多个格式一致的 Excel 文件
推荐阅读
相关推荐
用Python在工作中“偷懒”
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验