1.在网络传输数据时,经常需要将二进制数据转换为一个可打印字符串,一般用到的可打印字符集合包含64个字符,因此又称为Base64表示法,现有一个char数组长度为12,要将它表示为Base64字符串,请问Base64字符串至少需要几个char;如果char的长度为20,则需要几个char。
解答:
char是一个基本数据类型。它可以表示一个byte大小的数字,即8位,而Base64使用基于6位的编码。所以就是12x 8/6 = 16;而20 x 8/6 = 20 x 4/3 = 24 + 2.666 ,多余的需要用 ====补齐到4位,所以是28。
答案:16,28
应用实例:
1.在HTTP GET/POST中一般都需要对参数进行base64编码
2.在OSX中的.plist文件中的数据也是Base64编码的
2.某部门年会的时候,有个环节叫做《国王和天使》,每个人将自己的名字写在纸条上并丢入盒子中,等所有人都完成该动作后,每个人再从盒子里拿出一张小纸条,上面的人物就是自己的国王,自己就是ta的天使,如果抽到自己,就再抽一遍,直到抽到别人为止,如果用有向图来表示他们之间的关系,那么以下结论错误的是_?
- 最后的结果可能是存在多个联通分支
- 联通分支个数最多不超过人数的二分之一
- 最后的结果可能是存在多个强联通分支
- 可以用深度优先算法求得联通数
- 可以用双向链表存储其结构
- 遍历的复杂度是O(N)
解答:
这个题目有三个BUG,当是人数三个人