华为上机题整理1——Java实现

      最近开始练习华为的上机题,发现网上有些代码运行时不是很符合题目要求,故加以整理,用测试用例亲测通过~

     本文是在原有代码上改进,所以,首先要感谢原作者,原文链接

                                                                   http://blog.csdn.net/dengpeng0419/article/details/47622727

                                                                   http://blog.csdn.net/dengpeng0419/article/details/47622727

下面进入正题:


1.超长整数相加


java代码:


代码解析:

   一定要注意,题目是“超长整数”,意味着读入的是字符串,而不是整数,所以,不能用下面的代码来读取键盘输入,


否则会报错误:


当然,一般整数的输入,这样读取ok


归纳总结:

    初看题目,第一反应是可以用“大数值”来做,直接调用


觉得很easy,但别忘了,人家叫你用算法实现。考的还是字符串类的基础知识!


2.城市电话号码


java代码:


      

代码解析:

   一定要注意,在第一步对所有位数的判断,是所有3个中有一个位数不正确,都判定为非法,但第一个允许两种情况(0或3),这时就需要()把第一个与其他两个区别开来,不然,得不到正确的判定 结果。

    再者,在写判定条件时:


有相当大差别,在逻辑上也是不对的。

归纳总结:

    操作字符串的基础知识,注意抓题眼,同时,测试用例要多试试题目没给出来的。


3.最小长方形

 

java代码:

     

这段代码与原文没多大差别,仅记录自己的学习过程

代码解析:

   一定要注意,调用Math.max(a,b);Math.min(a,b)比较大小时,初值为:


这样,才能得到正确的比较结果,不要搞反了

归纳总结:

    对java内置的一些函数要熟悉,只要不是写算法,必要时可直接调用


后面的会依次整理,督促自己,好好复习,奋斗!!!!




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值