winng的二月第一周题目

[1] A+B问题 |lintcode1

思路:题目中要求用位运算,百度位运算实现。然后开心地发现了这篇简书,写的真好https://www.jianshu.com/p/7bba031b11e7
代码略

[2] 尾部的0 |lintcode2

思路:计算出n阶乘中尾部零的个数,返回多少个5,多少个52,多少个53……用递归或者迭代应该都可以~

  long long trailingZeros(long long n) {
    long long num=0,wu=5;
    while(wu<=n){
      num+=n/wu;
      wu*=5;
    }
    return num;
  }

[3] 二分查找 |lintcode14

思路:简单的二分查找(然额我de了好久bug)

  int binarySearch(vector<int> &nums, int target) {
    if (target<nums.front()||target>nums.back())
      return -1;
    else{
      long num=nums.size(),front=0,back=num-1,mid;
      while(1){
        mid=(back+front)/2;
        if (nums[(int)mid]==target){
          while(nums[(int)mid]==target)
          mid--;
          break;
        }
        else if((back==front||(back-front)==1)&&
                 nums[back]!=target&&nums[front]!=target)
          return -1;    //这里忘掉过判断是否在俩数中间找不到
        else if(nums[(int)mid]>target)
          back=mid;
        else if(nums[(int)mid]<target)
          front=mid;
      }
    return int(++mid);
    }
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • LeetCode 刷题随手记 - 第一部分 前 256 题(非会员),仅算法题,的吐槽 https://leetc...
    蕾娜漢默阅读 18,024评论 2 36
  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 865评论 0 3
  • 1. 找出数组中重复的数字 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,...
    BookThief阅读 1,855评论 0 2
  • 受事业发展、经济原因、环境健康等因素的影响,优生优育成为普遍行为,也就是说:现在的人生得晚、生得少。 物以稀为贵,...
    leizw阅读 1,148评论 0 0
  • 细雨朦胧,辽阔的天空显得格外的阴郁,小雨淅淅沥沥敲打着屋檐,屋檐上凝聚着群群晶莹的水珠,顺着瓦片滴滴答答的打落在...
    Cassiel1心阅读 389评论 2 4