题目描述
输入一个表示整数的字符串,把该字符串转换成整数并输出,例如输入字符串"345",则输出整数345。
主要思想:将输入的字符串,拆解为单个的字符
1、去空之后,开始的字符是否为“+”或者“-”;
2、每个字符减去‘0’,判读输入的字符是不是0-9的;
3、如果为可变数字字符则先前结果乘以10加当前数字;
4、特别注意越界的问题。
/**
*...
分类:
其他好文 时间:
2014-05-15 18:32:57
阅读次数:
200
在编写应用程序时,我们经常要使用到字符串。C++标准库中的和为我们操作字符串提供了很多的方便,例如:对象封装、安全和自动的类型转换、直接拼接、不必担心越界等等。但今天我们并不想长篇累牍得去介绍这几个标准库提供的功能,而是分享一下stringstream.str()的一个有趣的现象。我们先来看一个例....
分类:
其他好文 时间:
2014-05-12 01:36:43
阅读次数:
254
要求就是把字符串转化为整形,按照我们的理解就可以逐字符遍历,转化为整形即可,比如字符串"123454",我们只要取出第零个字符'1'-‘0’就可以得到数字1,然后把1乘以10,再加上‘2’-‘0’·····这样依次就可以得到转化之后的整形数字。当然有几个地方需要注意:
1)字符串可能以正负号开始,也可能包含一些其他的非数字型字符,是不能转化为数字的,是忽略还是报错看需求
2)越界,字符串转化到整形数字之后的数字串可能超出表示范围,超出的可以置为INT_MAX或者INT_MIN。...
分类:
其他好文 时间:
2014-05-11 06:56:19
阅读次数:
463
java和javac在简体中文的Mac
OSX的终端(Terminal.app)环境下,默认是以GBK编码的中文输出各种诸如语法错误,数组访问越界之类的信息。但是,Mac的终端的默认编码是UTF-8,所以javac和java在未配置的情况下会输出乱码。终端(terminal)-->偏好设置(pref...
分类:
编程语言 时间:
2014-05-11 06:15:04
阅读次数:
330
编译程序仅仅能查找出程序的语法错误,而对于“数组越界访问”“对空指针解引用”等错误,编译程序是束手无策的。
同时我们知道测试人员所使用的黑箱测试方法所能做的只是往程序里填数据,并看它弹出什么。这就决定了
对程序错误的检测可能需要点运气。
假如编译程序能够检测出“数组越界访问”,“差一错误”等等错误,那么编写无错代码其实就要简答多了。
所以我们需要一个思维转变:...
分类:
编程语言 时间:
2014-05-10 04:56:43
阅读次数:
382
这个题目我最开始看题目看了半天,看不懂。。但是通过看样例及答案终于看懂了。。。
首先先解决等级的关系。。如果等级越界,则不能交换。。所以原本等级的界限是
[rank[1]-m,rank[1]+m],但是这个边界里面会出现等级只差大于m,所以等级的区间应该是
[rank[1]-m,rank[1]],[rank[1]-m+1,rank[1]+1]............等等,所以一直枚举到 [r...
分类:
其他好文 时间:
2014-05-09 06:05:39
阅读次数:
270
当一个程序出现错误时,它可能的情况有3种:语法错误,运行时错误和逻辑错误。语法错误是指代码的格式错了,或者某个字母输错了;运行时错误是指在程序运行的时候出现的一些么有想到的错误,如:空指针异常,数组越界,除数为零等;逻辑错误是指运行结果与预想的结果不一样,这是一种很难调试的错误。而java中的异常....
分类:
其他好文 时间:
2014-05-08 01:20:33
阅读次数:
260
当一个程序出现错误时,它可能的情况有3种:语法错误,运行时错误和逻辑错误。语法错误是指代码的格式错了,或者某个字母输错了;运行时错误是指在程序运行的时候出现的一些么有想到的错误,如:空指针异常,数组越界,除数为零等;逻辑错误是指运行结果与预想的结果不一样,这是一种很难调试的错误。而java中的异.....
分类:
其他好文 时间:
2014-05-07 17:52:51
阅读次数:
254
老是报物理内存越界,kill
container,然后把yarn.scheduler.minimum-allocation-mb设成2048就好了跟这个yarn.nodemanager.pmem-check-enabled参数应该也有关系在这篇文章中得到启发:http://bise.aliapp.c...
分类:
其他好文 时间:
2014-05-07 02:15:35
阅读次数:
409