IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 力扣1.2 -> 正文阅读

[数据结构与算法]力扣1.2

1、1、给定一个整数数组,判断是否存在重复元素。

如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。在这里插入图片描述

2、最大子数组和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
解题思路:
1、动态规划:
动态规划的中心思想:
循环一次,每次对比两次,一次是当前元素与此前元素和的比较,另一次所有元素比较出的最大值之间的比较
f(i)=max{f(i?1)+nums[i],nums[i]}

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int pre = 0, maxAns = nums[0];//新建了一个数组
        for (const auto &x: nums)  //顺序循环nums数组中的数字{
            pre = max(pre + x, x);//求出当前位置数字的最大值
            maxAns = max(maxAns, pre);//求出数组中每个位置所求出的最大值
        }
        return maxAns;//返回最大值
    }
};

第一次提交:

思路是很简单的暴力求解法,但是暴力了个寂寞

//新建一个数组,顺序相加数字得到的和存入数组,当相加的数字小于之前相加的结果就往后挪一位数字进行相加,
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int n = nums.size();
        for(int i=0;i<n-1;i++)
        //int pre = 0, maxAns = nums[0];
        //for (const auto &x: nums) 
        {
            int sum=0;
            int a = 0;
            a = sum;
            sum += nums[i];
            return sum; 
            if(a<sum )
            {
                return 0;
            }
            //pre = max(pre + x, x);//求出当前位置数字的最大值
            //maxAns = max(maxAns, pre);//求出数组中每个位置所求出的最大值
        }
    }
};

总结:能一次循环结束的问题就不多做循环,大小比较可以直接用max函数

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:22:02  更:2022-01-03 16:23:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:45:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码