找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: ufoahw
收起左侧

[提问] 18: Missing Two Numbers in Permutation

[复制链接]

7

主题

1

精华

64

积分

资深会员

Rank: 2

积分
64
发表于 3-3-2015 05:32 AM | 显示全部楼层
p.8
class Solution {
public:
        int lastDigit(int n) {
            int num=1;
            int two=0;
            for (int i=2;i<=n;i++)
            {
                 int tmp=i;
                 while (tmp%2==0)
                 {
                     tmp=tmp/2;
                     two++;
                 }
                 while (tmp%5==0)
                 {
                    tmp=tmp/5;
                    two--;
                 }
                 num=getlastnum(num*tmp);
            }
            for(int i=1;i<=two;i++)
                num=getlastnum(num*2);
            return num;
        }
       
        int getlastnum(int n)
        {
             int num=0;
             while (num==0)
             {
                  num=n%10;
                  n=n/10;
             }

            return num;
        }
};

7

主题

1

精华

64

积分

资深会员

Rank: 2

积分
64
发表于 3-3-2015 05:55 AM | 显示全部楼层
p.9
class Solution {
public:
        int countTriangleTripleIndex(vector<int> &A) {
               int len=A.size();
               sort(A.begin(),A.end());
               int count=0;
               int lastr=0;
              for (int p=0;p<len;p++)
              {
                 lastr=p+1;
                  for (int q=p+1;q<len-1;q++)
                    {
                          
                          while ((lastr+1<len)&&(A[p]+A[q]>A[lastr+1])) lastr++;
                          if (lastr>q)count+=lastr-q;
                    }
              }
              return count;
        }
};

2

主题

0

精华

56

积分

资深会员

Rank: 2

积分
56
发表于 3-15-2015 05:08 PM | 显示全部楼层
关于 异或的方法 可以参见这个帖子。写得很详细。
http://stackoverflow.com/questio ... -two-missing-values
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表