QrzWJS 2021-12-11 11:07 采纳率: 0%
浏览 34

[学习报告]《算法零基础100讲》(第2讲) 数列

1.509. 斐波那契数

class Solution {
public:
    int fib(int n) {
        if(n==0)
            return 0;
        if(n==1)
            return 1;
        int a=0,b=1;
        for(int i=2;i<=n;i++)
        {
            int t=a+b;
            a=b;
            b=t;
        }
        return b;
    }
};

2.1137. 第 N 个泰波那契数

class Solution {
public:
    int tribonacci(int n) {
        if(n==0)
            return 0;
        if(n==1)
            return 1;
        if(n==2)
            return 1;
        int a=0,b=1,c=1;
        for(int i=3;i<=n;i++)
        {
            int t=a+b+c;
            a=b;
            b=c;
            c=t;
        }
        return c;
    }
};

3.剑指 Offer 64. 求1+2+…+n

class Solution {
public:
    int sumNums(int n) {
        return (1LL*n*(n+1))/2;
    }
};

4.896. 单调数列

class Solution {
public:
    bool isMonotonic(vector<int>& nums) {
        if(nums.size()<=2)
            return true;
        int f1=0;
        int f2=0;
        for(int i=1;i<nums.size();i++)
        {
            if(nums[i]-nums[i-1]>0) f1=1;
            if(nums[i]-nums[i-1]<0) f2=1;
        }
        return f1+f2<=1;
    }
};

5.剑指 Offer 57 - II. 和为s的连续正数序列

class Solution {
public:
    vector<vector<int>> findContinuousSequence(int target) {
        map<int,int>mp;
        int sum=0;
        vector<vector<int>>ans;
        for(int i=1;i<=target;i++)
        {
            long long  sum=0;
            vector<int>v;
            for(int j=i;;j++)
            {
                sum+=j;
                v.push_back(j);
                if(sum>=target)
                    break;
            }
            if(sum==target&&v.size()>1)
                ans.push_back(v);
        }
        return ans;
    }
};

6.829. 连续整数求和

 

class Solution {
public:

    int consecutiveNumbersSum(int n) {
        int res=0;
        for(int k=1;k*(k+1)<=2*n;k++)
        {
             if((n-k*(k+1)/2)%k==0) res++;
        }
        return res;
    }
};
  • 写回答

1条回答 默认 最新

  • 程序猿_水木 2022-08-31 09:33
    关注

    谢谢分享!

    评论

报告相同问题?

问题事件

  • 创建了问题 12月11日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?