首页 > 编程知识 正文

leetcode刷题(leetcode 硬币组合)

时间:2023-05-06 03:00:21 阅读:86474 作者:718

闲聊

本月1日开始每天打印leet代码的每日问题。 今天是12号。 前面的问题都很顺利,今天的这个问题是我无知,求两条线的交点【面问题16.03 .交点】。 刚看完题,哇,这不是一元二次方程组吗? 很简单。 中学数学吧。 写着,半个小时后。 在解决问题的地区见面了。 编码内功真的很考验,很容易写错。 不是,接今天的主题【字符串转换整数】

请实现可以将

看题总结

字符串转换为整数的atoi函数。

首先,该函数根据需要丢弃无用的前导空格,直到找到第一个非空格字符。 以下转换规则如下

如果第一个非空字符是正或负符号,请将符号与后面尽可能多的连续数字组合形成有符号的整数。 如果第一个非空字符是数字,则直接将后面的数字字符组合成整数。 由于此字符串在有效整数部分之后可能也有多余的字符,因此可以忽略这些字符,不要影响函数。 注:如果字符串的第一个非空白字符不是有效的整数字符,字符串为空,或者字符串中只包含空白字符,则不需要转换函数。 也就是说,无法有效地进行转换。

在所有情况下,如果函数未有效转换,则返回0。

提示:

正题的空白字符只包含空白字符“”。 假设我们的环境只能存储32比特大小的有符号整数,其数值范围为[ 231,231 ]。 如果数值超出该范围,请返回int_max(231 )或int_min ) 231 )。 样本1:

输入: '42 '

输出: 42

样本2:

输入: ' -42”

输出: -42

解释:的第一个非空格字符是“-”,是减号。

我们尽量把减号和后面所有连续的数字组合起来,最后得到-42。

样本3:

输入: '4193 with words ' (带宽度)

输出: 4193

解释:转换以数字'3'结束。 因为下一个字母不是数字。

例4:

输入: 'words and 987 '

输出: 0

解释:的第一个非空格字符是“w”,但不是数字、正或负号。

因此,无法执行有效的转换。 样本5:

输入: '-91283472332 '

输出: -2147483648

解释:数字“-91283472332”超过32位有符号整数范围。

因此,返回int_min(231 )。

相关主题

数学字符串通过阅读主题,可以得出以下结论

的类型是字符串问题,是指向给定的字符输出整数输入安全判断,空字符串返回值,不能转换为0

多解法及复杂度分析

这个问题的解法,分为三个步骤

消除前导空间,处理正负识别号码,注意过境情况。 公共关系(字符串) {

if (str==空值||str.length (==0) ) ) ) )。

返回0;

}

int索引=0;

//1 .消除开头空间

while(indexstr.length () str.charat (charat )索引)=' ' ) ) )。

索引;

}

if (索引==str.length () ) ) ) ) )。

返回0;

}

//2 .判断符号

int sign=1;

if(indexstr.length(str.charat )索引)=='-'|str.charat )==''}{

sign=str.charat (索引)=='-'? -1 : 1;

索引;

}

//3 .识别数字

英特尔=0;

wile(indexstr.length () ) ) ) ) ) ) )。

int digit=str.charat (索引)- '0);

if (数字0|| |数字9 ) {

布莱克;

}

//过境处理

if ((整数.最大值/十个值)|)整数.最大值/十个值==整数.最大值数字) {

返回符号==1? integer.max _ value :整合器. min _ value;

}

tatol=tatol * 10数字;

索引;

}

返回总数*签名;

}复杂度分析

时间复杂度: o(n ),遍历字符串s一次

空间复杂性: o(1)只使用了几个变量

技巧与心得

开设github仓库,记录各种问题的解说。 向idea和vs代码都提供了leecode的插件。 调试简单,遇到无法切断流程的问题也不要慌,冷静下来直接解题的文字类的表现不如视图类的直觉。 文字和文字结合精选,优先图解,也可以参考leetcode国际站宗旨绿色问题的解说图。 在哔哩哔哩和YouTube上,可以通过leecode的标题,搜索高收视率的视频,多次浏览这篇文章并向我学习。 LeetCode教你如何刷题。 我相信你一定能自信地在

最后的最后

看到最后。 你应该对本题有不同的感受。 如果这里有错误的地方或建议等,请留言告诉我; 请告诉我如果有疑问或者不同的看法的话,我们也可以一起讨论学习!

我是twdxz。 你应该吃。 你应该喝。 你应该学习。 一起加油吧。

单击左下角,查看所有leet代码高级问题解决代码

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。