原文地址:http://www.iteye.com/topic/1116115
这是一道搜狗的笔试题,要求30分钟。根据encode方法写出对应的decode方法。最后运行程序输出的结果就是要求的答案。先不看答案,trying一下吧。程序如下:
public class Test {
public static void encode(byte[] in, byte[] out, int password) {
int len = in.length;
int seed = password ^ 0x8c357ca5;
for (int i = 0; i < len; ++i) {
byte a = (byte) ((in[i] ^ seed) >>> 5);
byte b = (byte) (((((int) in[i]) << 16) ^ seed) >>> (16 - 3));
a &= 0x7;
b &= 0xf8;
out[i] = (byte) (a | b);
seed = (seed * 3687989 ^ seed ^ in[i]);
}
}
public static void decode(byte[] in, byte[] out, int password) {
int len = in.length;
int seed = password ^ 0x8c357ca5;
for (int i = 0; i < len; ++i) {
// fill the code here
}
}
public static void main(String[] args) throws Exception {
int password = 0xe87dd9d3;
byte[] buf1 = { 29, -16, 96, 43, -85, 25, -96, 83, 13, 66, -109, 49, -111, 0, 60, -101, 99, -86, -38, 86, -35,
48, 23, 83, -102, 25, 73, -116, -101, -88, -5, 14, -14, -112, 87, -87, 2, 108, -58, 40, 56, 12, 108,
77, 83, 38, 20, -114, };
byte[] buf2 = new byte[buf1.length];
decode(buf1, buf2, password);
System.out.println(new String(buf2, "GBK"));
}
}
----------------------------------------------------------
最后输出结果是:搜狗输入法支持各种炫酷的皮肤,彰显个性的你!!!
其中一种实现方式为:
byte a = (byte) (((in[i]&0x7) <<5) ^seed);
byte b = (byte) ((((((int) in[i])&0xf8) << 13) ^ seed) >>> 16);
a &= 0xe0;
b &= 0x1f;
out[i] = (byte) (a | b);
seed = (seed * 3687989 ^ seed ^ out[i]);
分享到:
相关推荐
搜狗2010年笔试题,绝对真实,主要是针对测试职位,题目比较活,欢迎下载
这是我面试搜狗公司地图部分回忆的笔试题。
搜狗软件测试开发工程师笔试题
几个搜狗招聘笔试题,有时间看一下吧。题目不多,但是每天都看几个,积少成多了。
搜狗校园招聘研发类笔试题.pdf 百度前端研发笔试卷.pdf 百度大数据云计算研发笔试卷.pdf 百度安全研发笔试卷.pdf 百度研发工程师深圳.pdf 美团校园招聘研发笔试题.pdf 腾讯校园招聘技术类研发笔试题.pdf 阿里巴巴...
搜狗2012年笔试题,绝对真实,主要是针对开发职位,题目比较活,欢迎下载
2015校园招聘笔试题大合集,汇集百度、腾讯、阿里等多家大型互联网企业的面试题,非常... 搜狗2015校园招聘研发类笔试题.pdf 腾讯2015校园招聘技术类研发笔试题.pdf 浙江大华2015届校园招聘算法、软件类笔试题.pdf
回忆版.pdf百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题.pdf百度校园招聘笔试面试题合集百度校园招聘笔试题web前端2013.pdf百度校园招聘笔试题产品2.pdf百度校园招聘笔试题产品经理2014.pdf百度校园招聘笔试...
搜狗2017C++笔试题
搜狗2015JAVA工程师笔试题
搜狗2016C++研发工程师笔试题 (网上收集整理的,参考答案在后面,若有错误请大神指出)
搜狗校招产品岗笔试题_互联网 产品经理求职 校招 面试笔试题.docx
第一部分 3.搜狗2014校园招聘笔试题
搜狗2013年校园招聘笔试题C,希望对大家有帮助。
搜狗Java笔试面试题.zip_面试资料下载
2015 搜狗校园招聘研发类笔试题
搜狗2015校园招聘研发类笔试题.pdf 百度2015前端研发笔试卷.pdf 百度2015大数据云计算研发笔试卷.pdf 百度2015安全研发笔试卷.pdf 美团2015校园招聘研发笔试题.pdf C++基础面试题.docx C++开发工程师面试题库.docx ...
java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB“ 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张...
搜狗地图javascript API的源代码,2013年8月7日2.5.1版解密版,代码格式为可阅读格式;如发生版权问题,请联系博主,谢谢!