本帖最后由 vnicer 于 2013-08-17 09:44:28 编辑

解决方案 »

  1.   

    第一题:if else 一个一个判断
    第二题:x=2
    y=3
    x=x+y=5
    y=x-y=2
    x=x-y=3
    第三题:同楼上
      

  2.   

    第三题
    a[0]+a[1]+...a[1000]-(1+2+..+1000)得到重复数字
      

  3.   

    第一题用
    indexOf(String,From);
    检测是否只存在@和.,并且.出现在@后
      

  4.   

    第一题 恶意输入,可能是字符随机产生,不能用正则,那么进行简单地遍历,判断@和.com的存在。第二题 c语言的书上有过,忘了,查了之后想起来了,X,Y
    X= X+Y; Y = X -Y; X = X- Y第三题 不知道可不可以排序,从小到大,1001个数,左边500个数分别加上999,,998.。。为1000,右边500个加上1,2,。因为有重复,所以有个数的和不为1000
      

  5.   

    第一题   将字符串放到char[] 判断是否存在关键字符以及顺序
    第二题   a=a+b;b=a-b;a=a-b;   a=a^b;b=a^b;a=a^b;
    第三题   int sum = 0,x=0;
            for(int i:arr){
                            sum +=i;
                         }
           循环结束后用sum减去1加到1000的和就是那个重复的数了
      

  6.   

    第一题,indexof,SubString都可以判断
    第二题,用异或,加减都可以 a=a^b,b=a^b,a=a^b
    第三题,把1001个数组加起来 - (1+1000)*1000/2   得出的结果就是那个重复的