【Tip】那些“想当然”的记录

【Tip】那些“想当然”的记录

算法类

1、int越界问题

首先,Java的int取值范围是[-2^31, 2^31-1]

看清了,指数是31

今天遇到一道题:Tom数

刚刚拿到题的时候,我还注意到了,题中说的最大值是2^32,我想当然的认为,这题既然强调了范围的上界,那就肯定不会越界啊。

结果提交的时候,总是不能通过,为此浪费了我大概1h时间…

当时怎么就没想当然成:“既然强调了范围的上界,那就肯定越界呢?”[/捂脸哭]

2、绝对值排序问题

记得我刚刚接触数据结构的时候,认为排序很神奇;

后来学完排序后,认为排序很简单;

今天过后,再次认为排序很神奇,简单之中有神奇。

这或许就是王国维说的三种境界吧。

比如今天这道题:绝对值排序

我们练过所以数据都是正数的排序,练过所有数据都是负数的排序,练过有正数有负数的排序。

突然来一道,拿负数当正数使的绝对值排序就乱了手脚。由于我最近几天对Java集合使用的着迷,想当然就想使用集合的特性,其实是自己懒得写那几行排序代码了。最终由于集合使用不熟练而阵亡。

为此我专门写了一篇文章《【算法】绝对值排序·手写排序》

还有就是我曾在kotlin中使用过SortedMap,然后我就想当然的认为两个月前写过的代码,两个月没看,依旧能写出来;然而事实并没有写出来。

明天再写篇文章吧:《【算法】绝对值排序·集合排序》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值