关注
第二题感觉本质就是让一个数组能够存储两种信息,一个是当前index这个数字出现的个数,另一个就是要确认这个index上的数字是否在正确的位置上。
方法一可以参考leetcode 41,吧当前index上的数字和他应该属于的index上面的数字进行交换, 比如a[10]上面放了11就不需要移动,放了8的话就把8和a[7]上面的数字进行交换。而当交换成功之后为了标记当前位置即a[7]上面的数字已经到了正确位置,则可以采取前面楼层的做法,比如把这个数字置为负数比如-1,然后每次有数字移动到这个index7上的时候,-1减一,最后当前index+1这个数字出现的次数就是此位置负数变正再减一。
方法二就是如果这数组的数字比较小的话,当前位置这个数字是一个interger,有32位,可以用前16位去存当前index+1这个数字的出现的次数。这就有点取巧了。
总之这题主要就是通过用一个数组存储两种信息,不管是用正负来代替boolean,还是用interger或者long多出来的位数存储,核心就是如何用一个数组存2N的信息。
查看原帖
3 1
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
11617次浏览 150人参与
# 你的mentor是什么样的人? #
51010次浏览 718人参与
# 程序员找工作至少要刷多少题? #
20211次浏览 258人参与
# 我和mentor的爱恨情仇 #
106146次浏览 944人参与
# 论秋招对个人心气的改变 #
12439次浏览 169人参与
# 校招第一份工作你干了多久? #
136590次浏览 597人参与
# 机械人避雷的岗位/公司 #
43884次浏览 304人参与
# 为了减少AI幻觉,你注入过哪些设定? #
5455次浏览 166人参与
# 设计人如何选offer #
189626次浏览 868人参与
# 你的秋招进行到哪一步了 #
2530354次浏览 23253人参与
# 机械人还在等华为开奖吗? #
312066次浏览 1582人参与
# 牛客AI体验站 #
7353次浏览 199人参与
# 秋招投递记录 #
380822次浏览 3203人参与
# 重来一次,我还会选择这个专业吗 #
411165次浏览 3898人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2183次浏览 51人参与
# 我现在比当时_,你想录用我吗 #
9153次浏览 117人参与
# 互联网公司评价 #
485801次浏览 4111人参与
# 一张图晒一下你的AI员工 #
5492次浏览 122人参与
# AI Coding的使用心得 #
4985次浏览 105人参与
# 职场上哪些行为很加分? #
322364次浏览 3598人参与
OPPO公司福利 1111人发布

查看8道真题和解析