支付宝的几道笔度题,大家交流一下!

问题描述

1已知long型的最大值为9223372036854775808,求9223372036854775808+92233720368547758082在命令行下输入“Ilovechina”,则publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSystem.out.println(args[0]);;System.out.println(args[1]);;System.out.println(args[2]);;System.out.println(args[3]);}3已知数据库中的存取数据:codeVARCHARdatevarchartypeVARCHARdatavarchar500数据库中一个code对应一个date一个type可以找出小于10个的char,数据库中总共有500万个data,且每天要读取上千成次,让你写一个高效的读取方法(伪代码)//通过code获得datapublicStringgetDataBycode(Stringcode){}//通过type获得datapublicStringgetDataByType(Stringcode){}//顺便问一下,在命令行下,如何进行某个目录,并且编译这个目录下的java文件?

解决方案

解决方案二:
System.out.println(args[3]);第二个跑出异常?下标越界?
解决方案三:
第一题:转化为二进制1111111....1111111111111....111111莫非结果为100000...00000去掉溢出的位1结果为0??
解决方案四:
引用2楼id19870510的回复:

第一题:转化为二进制1111111....1111111111111....111111莫非结果为100000...00000去掉溢出的位1结果为0??

丢人了:longvv=Long.MAX_VALUE+Long.MAX_VALUE;System.out.println(vv);试了一下结果为-2囧。。。。哪位大侠解释一下
解决方案五:
第一题使用BigDecimalBigDecimalb1=newBigDecimal("9223372036854775808");BigDecimalb2=newBigDecimal("9223372036854775808");System.out.println(b1.add(b2));

第二题System.out.println(args[3]);数组越界
解决方案六:
BigDecimalargs[3]是为定义的
解决方案七:
引用3楼id19870510的回复:

引用2楼id19870510的回复:第一题:转化为二进制1111111....1111111111111....111111莫非结果为100000...00000去掉溢出的位1结果为0??丢人了:longvv=Long.MAX_VALUE+Long.MAX_VALUE;System.out.print……

你的想法差不多啊,不过算术……Long.MAX_VALUE是第1位为0后面63位全为1,两个这样的数加起来么就是前面63位都为1最后1位是0,也就是-2
解决方案八:
第1题简单的说下计算机存的是补码。。。最大整数9223372036854775801111...111132位+1111...1111=10000...000033位(补码,1是符号位)但是取出来的是原码补码到原码10000...0000->10000...0010=-2
解决方案:
!!!是64位
解决方案:
引用6楼zhuzeitou的回复:

引用3楼id19870510的回复:引用2楼id19870510的回复:第一题:转化为二进制1111111....1111111111111....111111莫非结果为100000...00000去掉溢出的位1结果为0??丢人了:longvv=Long.MAX_VALUE+Long.MAX_V……

哦。问题欠考虑了嘿不好意思。太不细心了
解决方案:
第三个我想的是:批量查询还有多线程查询
解决方案:
该回复于2010-12-07 09:18:26被版主删除
解决方案:
认真看看
解决方案:
关注笔试面试题中......
解决方案:
1、BigInteger2、System.out.println(args[3]);会抛出ArrayIndexOutOfBoundsException3、不知道…………
解决方案:
3.我认为思路应该是通过type可以找出小于10个的char,再依据code在这些char中查找data.数据量大应尽量增加约束条件(仅供参考)在命令行下,用C:DocumentsandSettingsAdministrator>cdH:eclipseeclipseC:DocumentsandSettingsAdministrator>h:进入某个目录,并且编译这个目录下的java文件用javac命令
解决方案:
引用4楼vivazhao的回复:

第一题使用BigDecimalJavacodeBigDecimalb1=newBigDecimal("9223372036854775808");BigDecimalb2=newBigDecimal("9223372036854775808");System.out.println(b1.add(b2));第二题System.out.pr……

正解
解决方案:
楼主发错题目了第二题是没有System.out.println(args[3]);的命令行输入javatestilovealibaba
解决方案:
nothinggonnatobewrong
解决方案:
longl=0xFFFFFFFF+0xFFFFFFFF
解决方案:
第一题:使用BigDecimal第二题:数组越界·或者说是你的参数并不能满足方法里的数组的长度·第三题:说不清楚你的小问题:javac类名.java---编译java类名----执行
解决方案:
题目出的真好;我也做不出来;
解决方案:
引用20楼cenhuineng的回复:

第一题:使用BigDecimal第二题:数组越界·或者说是你的参数并不能满足方法里的数组的长度·第三题:说不清楚你的小问题:javac类名.java---编译java类名----执行

都不明白第一题出题者的意思...
解决方案:
引用楼主xautswfc的回复:

//顺便问一下,在命令行下,如何进行某个目录,并且编译这个目录下的java文件?

常用命令:cd进入某个文件夹dir列出该文件夹下文件cd返回到根目录cd..返回上级目录。
解决方案:
引用6楼zhuzeitou的回复:

引用3楼id19870510的回复:引用2楼id19870510的回复:第一题:转化为二进制1111111....1111111111111....111111莫非结果为100000...00000去掉溢出的位1结果为0??丢人了:longvv=Long.MAX_VALUE+Long.MAX_V……

顶!!最低位为0,其他位为1,第一位符号位为1,则为负数,下面各位取补码,即取反+1,得0x10,为2,所以结果是-2。
解决方案:
第一题,不管怎么解释。long型的最大数最后一位不是8而是7.楼主给出的数有点问题。
解决方案:
在这里考虑的是实际问题,也就是说考虑有符号数,所以long型的最大整数,不能用11....11(64个1,其表示最大的负数,-1,最小负数的表示为10..00)表示,最高位为1表示负数,正确的表示为01...11(63个1)。所以加法应该是01....11+01....11=11....10而这个数也就是-2的补码。2的补码为00..0010。保留最后一个1其余按位取反就是-2的补码。
解决方案:
顶~~~

时间: 2024-10-03 20:56:56

支付宝的几道笔度题,大家交流一下!的相关文章

一个道c++的题(用c++做,要详细代码)

问题描述 一个道c++的题(用c++做,要详细代码) 有三个海军陆战队wilyin的基地.他们的位置形成一个直角三角形.现在wilyin得到另一个海洋他想把它放在某个地方形成一个矩形与前三名海军陆战队员.他应该把它放在哪里?输入输入的第一行包含一个整数T这意味着测试用例的数量.然后T行每一行包含6个正整数x1y1x2y2 x3y3这意味着这三个海军陆战队员的位置.你可能认为不协调的绝对值超过3000人.输出对于每个案例打印出来的协调海洋在一行.输入20 0 1 0 0 10 1 0 -1 1 0

C语言几道位移运算题

1 << -1 1 << -1是多少? 字面上看1左移-1位,似乎是1右移1位的意思. 但实际结果却是-2147483648,而-2147483648 = - 2 31. 也就是说实际上1 << -1等同 于: 1 << 31 为什么?╮(╯_╰)╭没有什么为什么,就是这样定义的,可以说为了配合 Javascript中整型是32位的吧. 也就是说m << -n等同于: m << (-n % 32 + 32) 在c语言中,这样写编译的时

汤姆大叔的6道javascript编程题题解

看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4];  var ans = Math.max.apply(null, a);  console.log(ans);  // 6  这题很巧妙地用了apply,如果不是数组,是很多数字求最大值,我们知道可以这样: var ans = Math.max(1, 2, 3, 4, 5, 6);  conso

有道难题第二题最新算法(不仅仅是速度)

最近好像算法问题又不热门了,米关系,自己喜欢就好.我的有道第二题不是双倍超立方,也不知道是什么算法,大概的题目意思,大家可以参考:"我的有道第二题(不是双倍超立方)"   其实一开始我觉得很简单,我写的第一个解法也是正确的,不过讨厌在题目说,输入的n可以为2,000,000,000. 20亿.....如果N为最大的时候,不用看了,我的解法直接out,第一时间很长,第二,直接out of Memory   那该怎么做呢???我寻思着它的规律,其实一直有种感觉,可一直把握不住,而且平时也没

有道难题第一题非OO解,极端记录160ms

测试平台: P8600 4G 目前看见最高效率的是夜咖啡的,我这里的数据是稳定在195-200ms上下. 然后是eaglet,基本是400ms 我这个代码稳定在170ms左右 我的这个代码主要思路 1.在原有数组外围增加一圈0,这样就降低了统计时候的复杂度 2.将一维字符串数组转换为一个字符串,其实这也是增加0的副产品,如果有朋友能维持一维字符串 数组并增加0请告知一下 3.在最后的一维数组中直接用坐标计算方式算出当前位置的相关8个下标并直接计算 4.累加后统一减384,而不是每次减'0'字符

acm-一道Acm的题,为什麽通不过呀?

问题描述 一道Acm的题,为什麽通不过呀? http://acm.nyist.net/JudgeOnline/problem.php?pid=75 #include using namespace std; int n; void data(int y,int m,int d) { switch(m) { case 2: n=31+d; break; case 3: n=59+d; break; case 4: n=90+d; break; case 5: n=120+d; break; cas

acm-一道ACM的题求大神们解答,C语言,谢谢!

问题描述 一道ACM的题求大神们解答,C语言,谢谢! [题目描述] FFF团成员自带这样一个属性:凭空变出火把与汽油,两者配合起来才能让FFF之火duang的一下烧起来,但是不同的火把与不同的汽油配合产生的火焰是不同的,现在有n种火把与n种汽油,已知每一种火把与每一种汽油配合时产生的火焰的旺盛程度,现在求怎样使得火把与汽油一一配对,产生最旺盛的火焰. [输入] 第一行为一个整数T,表示有T组数据 每组数据第一行为一个正整数n(2≤n≤30) 第二行开始一共有n行,每行为n个正整数,第i行第j个数

javascript-一道js的题,(小白刚接触js很多不太懂。)

问题描述 一道js的题,(小白刚接触js很多不太懂.) function a(x){ var b=3; return function(y){ return x+y+(++b); } } var ac = a(10); var b = ac(10); var c = ac(10); 求 b c的值? 求高手详解. 解决方案 结果24 25 x没有值 b是闭包变量,所以第一次的累加会被保留. 解决方案二: JS的一道题 解决方案三: 结果分别是:24.25

c-一道离散数学编程题,求解答

问题描述 一道离散数学编程题,求解答 编程实现由偏序集合构造全序集合,最好能用C或C++编写,谢谢了 解决方案 你首先应该先解释一下什么是偏序集合,什么是全序集合,说清楚才有可能别人帮你! 解决方案二: 听上去说的文绉绉的,其实无非就是实现一个带排序的集合,再说得通俗一些,就是插入排序. 解决方案三: 直接把所有内容插入到set中,不就自动排序了吗?当然如果可以用库函数非要求必须自己编写.