灵犀互娱笔试,赶脚寄了
大概1小时,20min单选,10min多选,30min大题。
单选多选问的一堆偏门八股,基本都不会,靠感觉大概选的,想什么tcp连接数是65536还是65536*65536,这些玩意都靠猜,多选没几个敢肯定的,就记得一个问tcp连列到不存在的ip会咋样--这个应该是同一局域网不发syn,不同网发多次连不上断开。,还有一个问java线程安全的几何,选了.HashTable,ConcurrentHashMap,CopyOnWriteArrayList。还有问voliate作用,那个我没选保证线程安全。其他的都不记得了------(因为不大会看过就忘)
大题36分
第一大题反转链表
给出一个链表按照1 2 3 4 5 6 7...个元素进行分组,然后反转偶数组的
例如1 2 3 4 5 6 7 8 9 10,第一组是1 ,第二组是2 ,3,第三组是4 , 5 , 6,第四组7 , 8,9,10.
翻转后1,3,2,4,5,6,10,9,8,7.跟leetcode上的反转链表很像,区别就是每组链表数量变成了1,2,3,4.。。个这样 。
那么一样做法就好,就是长度差别,核心思路一样。还可以直接用数组接住手动搞就不用烦指来指去的next指针了。
第二大题递增特别数字
把每两个位上绝对值相差为1的数字称为特殊数字。如123,234,432,434等等。。给出一个low和high,要求输出二者间所有的特别数字。并顺序输出,如low=10,high=100,输出10,12,21,23,32,34......等等。
两种解法,一种写一个check判断一个数字是否是特殊的,然后直接暴力每个数字算一遍,简单直白,复杂度O(mn),m为数字长度。
另外一种递归,每一为下一位上延伸出下一位为当前位减一,加一两条枝,然后判断是否>9,<0等剪枝。时间复杂度小不少O(9*2^m)(因为要枚举所有数字开头,且n为10^m所以说更快)
但是只用了第一种做法就做完了100%,emmm,数据这么友好是我没想到的。
第三题直接就是找路径,n*m的方格左上角到右下角一共有多少条可达。
emmmmm,这种题不应该是第一题吗。。。。。。
直接C(n-1,n+m-2)即可。---(一共走n+m-2步,要么往右要么往下,一共往下n-1步。那么就是高中数学组合数了)
或者直接二维dp也行,不过时间复杂度大一点O(n*m),不知道过不过(我直接组合数学算的,要小心中间数字爆int)
qiuzh。
作者:牛客485316751号链接:https://www.nowcoder.com/feed/main/detail/65417b8e9b8f4c9aa1a619ae2173f1d0?sourceSSR=users灵犀互娱笔试,赶脚寄了
#秋招#大概1小时,20min单选,10min多选,30min大题。
单选多选问的一堆偏门八股,基本都不会,靠感觉大概选的,想什么tcp连接数是65536还是65536*65536,这些玩意都靠猜,多选没几个敢肯定的,就记得一个问tcp连列到不存在的ip会咋样--这个应该是同一局域网不发syn,不同网发多次连不上断开。,还有一个问java线程安全的几何,选了.HashTable,ConcurrentHashMap,CopyOnWriteArrayList。还有问voliate作用,那个我没选保证线程安全。其他的都不记得了------(因为不大会看过就忘)
大题36分
第一大题反转链表
给出一个链表按照1 2 3 4 5 6 7...个元素进行分组,然后反转偶数组的
例如1 2 3 4 5 6 7 8 9 10,第一组是1 ,第二组是2 ,3,第三组是4 , 5 , 6,第四组7 , 8,9,10.
翻转后1,3,2,4,5,6,10,9,8,7.跟leetcode上的反转链表很像,区别就是每组链表数量变成了1,2,3,4.。。个这样 。
那么一样做法就好,就是长度差别,核心思路一样。还可以直接用数组接住手动搞就不用烦指来指去的next指针了。
第二大题递增特别数字
把每两个位上绝对值相差为1的数字称为特殊数字。如123,234,432,434等等。。给出一个low和high,要求输出二者间所有的特别数字。并顺序输出,如low=10,high=100,输出10,12,21,23,32,34......等等。
两种解法,一种写一个check判断一个数字是否是特殊的,然后直接暴力每个数字算一遍,简单直白,复杂度O(mn),m为数字长度。
另外一种递归,每一为下一位上延伸出下一位为当前位减一,加一两条枝,然后判断是否>9,<0等剪枝。时间复杂度小不少O(9*2^m)(因为要枚举所有数字开头,且n为10^m所以说更快)
但是只用了第一种做法就做完了100%,emmm,数据这么友好是我没想到的。
第三题直接就是找路径,n*m的方格左上角到右下角一共有多少条可达。
emmmmm,这种题不应该是第一题吗。。。。。。
直接C(n-1,n+m-2)即可。---(一共走n+m-2步,要么往右要么往下,一共往下n-1步。那么就是高中数学组合数了)
或者直接二维dp也行,不过时间复杂度大一点O(n*m),不知道过不过(我直接组合数学算的,要小心中间数字爆int)#我的实习求职记录#qiuzh。