现在觉得有空时可以刷一下topcoder的DIV 2的Lvl 3的题目。感觉和刷LeetCode和WikiOi都是不一样的。

http://community.topcoder.com/stat?c=problem_statement&pm=11552&rd=14544

http://apps.topcoder.com/wiki/display/tc/SRM+519

这道题目是找规律,从6变到8的过程中有最大的15;而由35到38的过程中最大是39,主要是去掉32后,3->6的过程中有个4,所以变成32+7。所以算法就是找到最高的那个不同的位,然后把后面的都变成1就行了。

但实现的时候不熟练位操作,就参考了标程。可以看到判断某两个位是否一样可以用异或^,然后和1的shif比较。而最后把后面的位都变1则是和1的左移(就是2的幂)减一进行或做到的。

public class BinaryCards
{
public long largestNumber(long A, long B)
{
if (A == B) return A;
for (int i = 60; i >= 0; i--)
{
if (((A^B) & (1l<<i)) != 0)
return A | ((1l<<(i+1))-1);
}
return A;
}
}

  

最新文章

  1. 将 instance 连接到 flat_net - 每天5分钟玩转 OpenStack(88)
  2. Servlet的生命周期+实现方式
  3. Apache伪静态在网站目录没有反斜杠后自动添加反斜杠
  4. centos hadoop搭建准备
  5. android开发问题汇总
  6. asp.net mvc 部署在IIS7.5上出现的[没有相关的源行]错误的解决办法
  7. 从头开始-01.C语言环境测试
  8. Raphael的transform用法
  9. 一个想法照进现实-《IT连》创业项目:直觉型面试招聘的漏洞
  10. 201521123015 《Java程序设计》第6周学习总结
  11. Git的使用-如何将本地项目上传到Github
  12. freemarker中的substring取子串(十四)
  13. 剑指Offer——线程同步volatile与synchronized详解
  14. 硬木地板 JDFZ1667
  15. Easyui中 alert 带回调函数的 消息框
  16. a++ 与 ++a 的运算
  17. 13-linux定时任务不起作用到的问题解决办法
  18. Swift可向上滑移出界面的欢迎页简单封装
  19. STM32的CRC32 测试代码
  20. 切面条|2014年蓝桥杯B组题解析第二题-fishers

热门文章

  1. R-大数据分析挖掘(4-R爬虫实现)
  2. webstom 如何获取github上面的项目工程
  3. ABI Management
  4. TMemIniFile 与TIniFile 区别
  5. Ext.Net学习笔记02:Ext.Net用法概览
  6. MySQL中的datetime与timestamp比较
  7. Leaflet交流
  8. 九度OJ 1131 合唱队形 -- 动态规划(最长递增子序列)
  9. OpenJudge 2790 迷宫
  10. oracle 备份脚步