zoukankan      html  css  js  c++  java
  • 剑指offer刷题(算法类_1)

    斐波那契数列

    007-斐波拉契数列

    题目描述

    题解

    代码

    复杂度

    008-跳台阶

    题目描述

    题解

    代码

    复杂度

    009-变态跳台阶

    题目描述

    题解

    代码

    复杂度

    010-矩形覆盖

    题目描述

    题解

    代码

    复杂度

    搜索算法

    001-二维数组查找

    题目描述

    题解

    代码

    复杂度

    006-旋转数组的最小数字(二分查找)

    题目描述

    题解

    代码

    复杂度

    037-数字在排序数组中出现的次数(二分查找)

    题目描述

    题解

    代码

    复杂度

    全排列

    027-字符串的排列动态规划

    题目描述

    题解

    代码

    复杂度

    052-正则表达式匹配

    题目描述

    题解

    代码

    复杂度

    动态规划

    030 连续子数组的最大和

    题目描述

    输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。

    • 要求时间复杂度为O(n)。

    示例1:
    输入: nums = [-2,1,-3,4,-1,2,1,-5,4]
    输出: 6
    解释: 连续子数组 [4,-1,2,1] 的和最大,为 6

    提示:

    • 1 <= arr.length <= 10^5
    • -100 <= arr[i] <= 100

    题解

    1.定义一个 sum , res
    2.遍历数组

    • 若当前的sum < 0 , sum = 遍历的数, else sum = sum + 遍历的数;
    • 比较 res 和 sum 的最大值 赋给 res;

    代码

    public class Solution {
        public int FindGreatestSumOfSubArray(int[] array) {
            int len = array.length;
            if (len == 0) return 0;
            int sum = array[0], res = sum;
            for(int i = 1; i < len; i++){
                if(sum > 0){
                    sum = sum + array[i];
                }else{
                    sum = array[i];
                }
                res = Math.max(sum,res);
            }
            return res;
        }
    }
    

    复杂度

    • 时间复杂度 O(N) : 线性遍历数组 nums 即可获得结果,使用 O(N) 时间。
      空间复杂度 O(1) : 使用常数大小的额外空间。

    回溯

    065-矩阵中的路径(BFS)

    题目描述

    题解

    代码

    复杂度

    066-机器人的运动范围(DFS)

    题目描述

    题解

    代码

    复杂度

  • 相关阅读:
    杭电OJ-1031_Design T-Shirt
    杭电OJ-1036_Average is not Fast Enough!
    2019杭电多校一 L. Sequence (NTT)
    Binary Table CodeForces
    2019牛客多校一 H. XOR (线性基)
    Jzzhu and Numbers CodeForces
    Geometers Anonymous Club CodeForces
    [笔记] 扩展卢卡斯
    Luogu P2183 [国家集训队]礼物 扩展卢卡斯+组合数
    Luogu P4901 排队 fib数列+树状数组+倍增
  • 原文地址:https://www.cnblogs.com/hugoyu/p/13980178.html
Copyright © 2011-2022 走看看