如何在没有库函数的情况下将字符串解析为整数?

2023-11-27

最近我在一次采访中被问到这个问题:

“如何在不使用任何库函数且不考虑语言的情况下将‘12345’形式的字符串解析为其整数表示形式 12345?”

我想到了两个答案,但面试官说还有第三个。这是我的两个解决方案:

解决方案 1:保留一本映射 '1' => 1、'2' => 2 等的字典。然后一次解析字符串一个字符,在字典中查找该字符,然后乘以位置值。对结果求和。

解决方案 2:每次解析字符串一个字符,并从每个字符中减去“0”。这将为您提供“1”-“0”= 0x1、“2”-“0”= 0x2 等。再次乘以位值并对结果求和。

谁能想到第三种解决方案可能是什么?

Thanks.


我想这就是面试官想要的:

number = "12345"
value = 0
for digit in number:                    //Read most significant digit first
    value = value * 10 + valueOf(digit)

此方法使用的操作比您概述的方法少得多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在没有库函数的情况下将字符串解析为整数? 的相关文章

  • 为什么 JavaScript 中是 [1,2] + [3,4] = "1,23,4" ?

    我想将一个数组的元素添加到另一个数组中 所以我尝试了以下方法 1 2 3 4 它的回应是 1 23 4 到底是怎么回事 The 操作员没有为数组定义 发生的事情是 JavaScript将数组转换为字符串并将它们连接起来 Update 由于这
  • Objective-C 头解析

    我需要解析一些 Objective C 标头 我尝试过使用Doxygen并解析 XML 输出 但它不完全支持没有注释的 Objective C 标头 它会阻塞属性中定义的宏 请检查Doxygen 无法正确识别属性 https stackov
  • javax.xml.transform.TransformerException: java.io.FileNotFoundException: (访问被拒绝)

    我在最后一行代码中遇到异常 Transformer transformer TransformerFactory newInstance newTransformer DOMSource xmlSource new DOMSource do
  • 在 C++ 中,std::string::push_back() 的摊余复杂度是 O(1) 吗?

    我知道标准指定它适用于向量 但是字符串呢 是的 它是摊销常数时间 请参见第 716 页的表 101本文件的 http www open std org jtc1 sc22 wg21 docs papers 2012 n3485 pdf 表
  • 属性文件中的字符串主机名:Java

    这听起来可能是一个非常简单的问题 但我无法找到解决方法 我有一个 config properties 文件 其中包含两个键值 IP 地址和端口号 我读取此配置文件以提取字符串格式的键值 但是 当我尝试使用这些值时 我无法连接到从配置文件中检
  • 将字符串转换为字符并按降序排序(ascii)

    我正在创建一个程序 该程序将使用户输入整数 一个接一个 存储在数组中并按降序显示整数 该程序还要求用户输入一个字符串 使用以下命令将其转换为字符string toCharArray 我已经正确地按降序显示整数 问题是我不知道如何按降序显示字
  • 如何在Python中不使用库函数将字符串转换为整数?

    我正在尝试转换 a 546 to a 546 不使用任何库函数 我能想到的 最纯粹 gt gt gt a 546 gt gt gt result 0 gt gt gt for digit in a result 10 for d in 01
  • 使用 JSON 解析问题警告

    我正在尝试从网站读取 JSON 数据 我在 Windows 10 上使用 Dev C 和 mingw 编译器 这是我尝试在静态项目中运行的教程中的 JSON 解析器 define CURL STATICLIB include
  • 如何从 URL 字符串中删除某些参数?

    我有这个var存储表示充满参数的 URL 的字符串 我正在使用 AngularJS 我不确定是否有任何有用的模块 或者可能使用纯 JavaScript 来删除不需要的 URL 参数而无需使用正则表达式 例如我需要删除 month 05并且
  • java的split string方法也可以返回带分隔符的数组

    当我们使用String Split java中对字符串进行分割的方法 其工作原理如下 String s hello my dear String ss s split 数组ss包含 Hello my dear 但在这种情况下 空格 即分隔符
  • Notepad++:: 通过正则表达式完全删除包含问号的行

    嗯 我想这就是我的标题 这对于我将要实现的目标来说是不言自明的 这是我当前的文本文件的示例 Diva was the winning song of the Eurovision Song Contest 1998 Who will win
  • 将 char* 转换为字符串 C++

    我知道字符串的起始地址 例如 char buf 和最大长度int l 字符串的 即字符总数小于或等于l 获取值的最简单方法是什么string来自指定的内存段 换句话说 如何实现string retrieveString char buf i
  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • 如何获取字符串中所有匹配项的位置?

    我有一份文本文档和一个查询 查询可能超过一个单词 我想找到文档中所有查询出现的位置 我想到了documentText indexOf query 或使用正则表达式 但我无法使其工作 我最终采用以下方法 首先 我创建了一个名为的数据类型Que
  • 无法使用 NSDateFormatter 解析日期

    我正在获取 RSS 其中我收到以下日期戳 2010 05 10T06 11 14 000Z 现在我正在使用 NSDateFormatter 来解析这个日期时间戳 parseFormatter setDateFormat yyyy MM dT
  • 获取单个方程的脚本

    在文本文件中输入 a 2 8 b 3 9 c 4 8 d 5 9 e a b f c d g 0 6 h 1 7 i e g j f h output i j 期望的输出 输出 2 8 3 9 0 6 4 8 5 9 1 7 如果输入文件名
  • 解析 JWT 令牌以仅获取有效负载内容,无需 C# 或 Blazor 中的外部库

    我正在使用 Blazor 编写可以访问 JWT 的客户端应用程序 我想知道一种简单的方法来读取令牌有效负载内容而不添加额外的依赖项 因为我不需要其他信息 也不需要验证令牌 我认为解析有效负载内容应该足够简单 只需将其写入方法即可 JwtTo
  • 负整数的Python表示

    gt gt gt x 4 gt gt gt print b format x x 4 100 gt gt gt mask 0xFFFFFFFF gt gt gt print b format x mask x mask 4294967292
  • 如何对字符串列表进行排序?

    在 Python 中创建按字母顺序排序的列表的最佳方法是什么 基本回答 mylist b C A mylist sort 这会修改您的原始列表 即就地排序 要获取列表的排序副本而不更改原始列表 请使用sorted http docs pyt
  • 使用自定义比较器在 Java 中创建 SortedMap

    我想创建一个TreeMap在 Java 中具有自定义排序顺序 排序后的键是字符串 需要根据第二个字符进行排序 这些值也是字符串 示例地图 Za FOO Ab Bar 您可以像这样使用自定义比较器 Comparator

随机推荐

  • Google Sheets API:调用者没有权限

    我正在尝试从 cron 中读取文档 https sheets googleapis com v4 spreadsheets
  • 查看网页生成源的最佳方式?

    我正在寻找一个工具 它可以为我提供正确的生成源 包括由 AJAX 请求输入到 W3 验证器中所做的 DOM 更改 我尝试过以下方法 网页开发者工具栏 根据文档类型生成无效源 例如 它删除标签的自关闭部分 丢失页面的文档类型部分 Firebu
  • Pandas 左外连接结果表大于左表

    根据我对左外连接的理解 结果表的行数不应多于左表的行数 如果这是错误的 请告诉我 我的左表有 192572 行和 8 列 我的右表有 42160 行和 5 列 我的左表有一个名为 id 的字段 它与右表中名为 key 的列匹配 因此我将它们
  • 合并相同键的值

    可以用吗awk将相同键的值放入一行 例如 a 100 b 200 a 131 a 102 b 203 b 301 我可以将它们转换为这样的文件吗 a 100 131 102 b 200 203 301 您可以像这样使用 awk awk F
  • Google plus客户端“发生内部错误”[重复]

    这个问题在这里已经有答案了 昨天 当我尝试在我的应用程序中使用 Google Plus 签署用户时 我开始收到 发生内部错误 我使用得很好并且没有更改 代码已经很长时间没有改变了 GmsClient回报 connect bindServic
  • Azure 上的 Django 不加载静态文件

    我按照下面的教程在azure上创建了一个django项目 http www windowsazure com en us develop python tutorials web sites with django 一切正常 直到我尝试安装
  • 大量 if 语句的快速替代方案

    我是java初学者 我正在制作一个简单的程序 在其中输入一些内容 如果我输入的内容与 数据库 上的其中一个内容匹配 那么它会打印一些文本 有没有比这样做更简单的方法来检查这一点 int 1 int 2 int 3 etc if USER I
  • NoClassDefFoundError:无法初始化类 androidx.customview.poolingcontainer.PoolingContainer

    使用 Jetpack Compose UI 工具1 2 0 rc01和组合编译器1 2 0 android composeOptions kotlinCompilerExtensionVersion 1 2 0 dependencies d
  • Node.js 中域的替代方案

    由于 nodev4 2 1 已发布 并且该域被标记为已弃用 所以现在我需要它的替代方案 早些时候 我曾经将请求级别变量存储在域中 以便我可以在请求的同一上下文中查找数据的其他过程中使用这些变量 我们有什么办法可以实现它吗 注意 我无法使用请
  • 如何使用 boto3 为 AWS Cognito 创建 SECRET_HASH?

    我想使用 boto3 和 python 为 AWS Cognito 创建 计算 SECRET HASH 这将合并到我的 fork 中warrant 我将我的 Cognito 应用程序客户端配置为使用app client secret 但是
  • 如何在C#中使用实体框架从存储过程获取输出结果?

    我正在开发一个 ASP NET MVC 项目 我的目标是从表格中准备一份报告 所以 我第一次编写 Linq 代码 但速度太慢了 之后我编写了一个 SQL 查询 它非常快 我想使用存储过程从我的表中获取报告数据 事实上 我的项目非常简单 它获
  • 对于 git diff --name-status,输出是什么意思?

    当我跑步时git diff name status我看到这样的行 MM mm Jenkinsfile MM 是什么意思 mkreiger1 的 可能重复 确实提供了有用的信息 但就像 Koop4 的答案一样 它在不引用回答此问题的 git
  • 如何禁用颤振上的自动热重载?

    我已经搜索过这个问题并看到了解决方案 但我无法找出问题所在 我收到一些错误 因为每次编写代码时 它都会在我完成代码之前直接运行热重载 那么 如何禁用 flutter 中的自动热重载呢 flutter 中的自动热重载非常烦人 我只想使用基于
  • 两次调用 CoInitialize()

    假设我的应用程序在启动时调用 CoInitialize 并在存在之前调用 CoUninitialize 假设我有一个由我的应用程序使用的第三方组件并执行类似的操作 这会导致某种故障吗 当调用已经提交时 可以调用 CoInitialize 吗
  • Postgres 类似于 SQL Server 中的 CROSS APPLY

    我需要将为 MS SQL Server 2005 编写的 SQL 查询迁移到 Postgres 9 1 最好的替代方法是什么CROSS APPLY在这个查询中 SELECT FROM V CitizenVersions CROSS APPL
  • 为什么我的 D3 折线图显示每个实体的黑色区域?

    我制作了一个网络爬虫 用于获取有关不同银行的货币转移汇率的数据 并在一段时间内以 D3 线图的形式显示该数据 每家银行都有一条线 汇率为每天 cronjob 服务器端确保每天都会进行抓取 在前端 它使用 D3 json 从此 url 获取数
  • 从语音中获取用户输入?

    我刚刚开始尝试 C Net 中的 Windows Speech to Text 功能 我目前已经掌握了基础知识 IE 说点什么 它会根据你所说的提供输出 但是 我正在努力弄清楚如何实际接收用户输入作为变量 我的意思是 例如 如果用户说 Ca
  • 将图像文件保存到sql Server并将字节数组转换为图像

    我将图像存储在数据库中 并希望将它们从字节数组转换为图像 将对象转换为字节数组没有问题 但在尝试从字节数组转换为图像时出现 参数无效 错误 我传递给方法的对象来自数据集行 存储过程 USE GO Object StoredProcedure
  • R 中的 diag() 函数

    有没有办法使用diag 矩阵中的函数而不使用内置函数或迭代 M lt matrix 1 9 ncol 3 make a matrix q5b lt function M function 我知道M 1 1 M 2 2 and M 3 3 会
  • 如何在没有库函数的情况下将字符串解析为整数?

    最近我在一次采访中被问到这个问题 如何在不使用任何库函数且不考虑语言的情况下将 12345 形式的字符串解析为其整数表示形式 12345 我想到了两个答案 但面试官说还有第三个 这是我的两个解决方案 解决方案 1 保留一本映射 1 gt 1