【LeetCode】1000题挑战(220/1000)

1000题挑战

没有废话,直接开刷!

目录

1000题挑战

没有废话,直接开刷!

第一题:119. 杨辉三角 II - 力扣(Leetcode)

题目接口

解题思路

代码:

过过过过啦!!!!

第二题:

​编辑

题目接口

解题思路

代码:

过过过过啦!!!!

​编辑 第三题:168. Excel表列名称 - 力扣(Leetcode)

题目接口

解题思路

代码:

过过过过啦!!!!

第四题:171. Excel 表列序号 - 力扣(Leetcode)

题目接口

解题思路

代码:

过过过过啦!!!!

题量截图:

写在最后:


第一题:119. 杨辉三角 II - 力扣(Leetcode)

题目接口

class Solution {
public:
    vector<int> getRow(int rowIndex) {
​
    }
};

解题思路

这道题我的思路是:

  1. 可以用数学方法推导出规律

  2. 可以用递推去做

  3. 暴力构造杨辉三角,然后返回题目要求的那一行

这里我说一下递推的思路:(如果在面试的时候能想到递推,那当然是用递推啦)

我们通过 i 下标不断往数组里面添加1,

下标 j 是 i - 1 ,他等于自己这个位置加上前一个位置的和,

我们从后往前递推,就不会因为改变了数组的值而影响递推的结果。

代码:

class Solution {
public:
    vector<int> getRow(int k) {
        vector<int> ret(k + 1);
        for(int i = 0; i <= k; ++i) { //不断往数组里面添加1
            ret[i] = 1;
            for(int j = i - 1; j >= 1; --j) { //j下标位置加上前一个位置的和
                ret[j] += ret[j - 1];
            }
        }
        return ret;
    }
};

我用的是暴力。

代码如下:

代码:

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        int r = rowIndex + 1;
        vector<vector<int>> vv(r, vector<int>(r, 0)); //构造出足够的空间
        for(int i = 0; i < r; i++) vv[i][0] = 1; //给第一排填上1
        for(int i = 1; i < r; i++) { //构造杨辉三角
            for(int j = 1; j < r; j++) {
                vv[i][j] = vv[i - 1][j] + vv[i - 1][j - 1];
            }
        }
        vector<int> res; //把题目要求的那行输出
        for(int i = 0; i < r; i++) res.push_back(vv[rowIndex][i]);
        return res;
    }
};

过过过过啦!!!!

第二题:

题目接口

class Solution {
public:
    int maxProfit(vector<int>& prices) {
​
    }
};

解题思路

这道题的解题思路:

  1. 可以用单调栈

  2. 可以用动态规划

  3. 我用的是模拟

是这样的,我是之前做剑指Offer的时候看到了一个大佬的思路,

遍历数组,如果今天的股价大于昨天的股价,就将他们的差价记录(维护这个差价的最大值)

然后让昨天的股价覆盖今天的股价,就能保证如果明天的股价上涨,我们能用最低的价格买入。

最后再返回我们的最大差价即可。

代码:

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int n = prices.size(), m = 0;
        for(int i = 1; i < n; i++) {
            if(prices[i - 1] < prices[i]) { //如果今天的股价大于昨天的股价
                m = max(m, prices[i] - prices[i - 1]); //维护这个差价的最大值
                prices[i] = prices[i - 1]; //让昨天的股价覆盖今天的股价
            }
        }
        return m;
    }
};

过过过过啦!!!!

 第三题:168. Excel表列名称 - 力扣(Leetcode)

题目接口

class Solution {
public:
    string convertToTitle(int columnNumber) {
​
    }
};

解题思路

这道题的解题思路非常关键,

我们可以把这道题的思路转化为:

10进制转化成26进制,

这样子,我们只需要注意一下,每次 %26 前,需要让数整体往左偏移1即可。

代码:

class Solution {
public:
    string convertToTitle(int columnNumber) {
        string res;
        while(columnNumber) {
            columnNumber--; //向左偏移
            res += (columnNumber % 26 + 'A'); //进制转换
            columnNumber /= 26; 
        }
        reverse(res.begin(), res.end()); //因为我们是从低位尾插进res的,所以最后需要反转一下
        return res;
    }
};

过过过过啦!!!!

第四题:171. Excel 表列序号 - 力扣(Leetcode)

题目接口

class Solution {
public:
    int titleToNumber(string columnTitle) {
        
    }
};

解题思路

这道题的思路遇上一题类似,

这道题是26进制转10进制。

下面是代码:

代码:

class Solution {
public:
    int titleToNumber(string columnTitle) {
        int sum = 0;
        for(int i = 0; i < columnTitle.size(); i++) {
            sum = sum * 26 + (columnTitle[i] - 'A' + 1); 
        }
        return sum;
    }
};

过过过过啦!!!!

题量截图:

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/16110.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【软考备战·希赛网每日一练】2023年5月2日

文章目录 一、今日成绩二、错题总结第一题 三、知识查缺 题目及解析来源&#xff1a;2023年05月02日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析&#xff1a; 三、知识查缺 复习 流水线技术。序列图&#xff08;顺序图&#xff09;用于展现系统中一个用例和多…

【五一创作】[论文笔记]图片人群计数CSRNet,Switch-CNN

2018(有代码)_CSRNet (10次) 应用最最广泛的&#xff1a;e, is the most widely used while working with counting problems. 2018_CVPR——CSRNet: Dilated Convolutional Neural Networks for Understanding the Highly Congested Scenes https://arxiv.org/abs/1802.100…

第八章 集合函数

文章目录 前言一、聚合函数介绍1 、AVG (平均值) 和SUM &#xff08;求和&#xff09;函数2 、MIN&#xff08;最小值&#xff09;和MAX&#xff08;最大值&#xff09;函数3 、COUNT函数问题&#xff1a;用count(*)&#xff0c;count(1)&#xff0c;count(列名)谁好呢? 二、G…

嵌入式Sqlite数据库【基本语法、Sqlite-JDBC、嵌入到Java程序】

目录 前言 基本介绍 Sqlite 对比 MySQL 字段类型 语法 创建表 插入数据 更新数据 查询数据 删除数据 查看建表语句 Sqlite-JDBC 嵌入到Java程序 前言 最近在用JavaFX做一个桌面软件需要用到数据库&#xff0c;但MySQL这种数据库明显只能本地访问&#xff0c;把软…

ChatGPT能让智能客服更上一层楼么?

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 现实生活中&#xff0c;智能客服的身影已随处可见。 随着全球经济从以产品为主向以服务为主转型&#xff0c;体验经济也快速发展。客户服务逐渐成为一个独立的产业&#xff0c;而客服中心也成为所有企业的基本部门。然而&am…

利用snpEff对基因型VCF文件进行变异注释的详细方法

利用snpEff对VCF文件进行变异注释 群体遗传研究中&#xff0c;在获得SNP位点后,我们需要对SNP位点进行注释&#xff0c;对这些SNP位点进行更深的了解。 snpEff是一个用于对基因组单核苷酸多态性(SNP)进行注释的软件&#xff0c;snpEff软件可以用于对VCF文件进行变异注释&…

Packet Tracer - 配置和验证小型网络

Packet Tracer - 配置和验证小型网络 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 RTA G0/0 10.10.10.1 255.255.255.0 不适用 G0/1 10.10.20.1 255.255.255.0 不适用 SW1 VLAN1 10.10.10.2 255.255.255.0 10.10.10.1 SW2 VLAN1 10.10.20.2 255.25…

基于AI技术的智能考试系统设计与实现(论文+源码)_kaic

摘 要 随着当今世界互联网信息技术的飞速发展&#xff0c;互联网在人们生活中的应用越来越广泛&#xff0c;在线考试成为选拔人才的重要方法。实现一个基于AI技术的智能考试系统&#xff0c;该系统采用Java编程语言实现。通过使用自然语言处理技术和机器学习算法&#xff0c;该…

GPT-3.5 也能直接联网了

ChatGPT 常令人诟病的一个问题&#xff0c;就是它的模型训练数据&#xff0c;迄今为止用的还是 2021 年的老数据。 对于当下这个信息大爆炸时代&#xff0c;相隔两小时&#xff0c;消息都有可能滞后&#xff0c;更别说相隔两年了。 目前正式开放了 Web Browsing 这款插件。 …

力扣刷题2023-04-29-1——题目:1431. 拥有最多糖果的孩子

题目&#xff1a; 给你一个数组 candies 和一个整数 extraCandies &#xff0c;其中 candies[i] 代表第 i 个孩子拥有的糖果数目。 对每一个孩子&#xff0c;检查是否存在一种方案&#xff0c;将额外的 extraCandies 个糖果分配给孩子们之后&#xff0c;此孩子有 最多 的糖果…

PostgreSQL16中pg_dump的LZ4和ZSTD压缩

PostgreSQL16中pg_dump的LZ4和ZSTD压缩 pg_dump压缩lz4和zstd LZ4和ZSTD压缩算法合入了PG16。LZ4补丁的作者是Georgios Kokolatos。由Tomas Vondra提交。由Michael Paquier、Rachel Heaton、Justin Pryzby、Shi Yu 和 Tomas Vondra 审阅。提交消息是&#xff1a; Expand pg_dum…

开箱即用的ChatGPT替代模型,还可训练自己数据

一、普遍关注是什么&#xff1f; OpenAI 是第一个在该领域取得重大进展的公司&#xff0c;并且使围绕其服务构建抽象变得更加容易。然而&#xff0c;便利性带来了集中化、通过中介的成本、数据隐私和版权问题。 而数据主权和治理是这些新的LLM服务提供商如何处理商业秘密或敏…

VS Code C++ 输出窗口中文乱码问题解决

VS Code C 输出窗口中文乱码问题解决 系统cmd终端乱码 的情况&#xff1a;原因解决方法&#xff1a;&#xff08;仅针对cmd终端输出的情况&#xff09;方法一&#xff1a;更改代码文件的编码方法二 &#xff1a;更改cmd默认终端的编码方式 系统cmd终端乱码 的情况&#xff1a; …

Go官方指南(五)并发

Go 程 Go 程&#xff08;goroutine&#xff09;是由 Go 运行时管理的轻量级线程。 go f(x, y, z) 会启动一个新的 Go 程并执行 f(x, y, z) f, x, y 和 z 的求值发生在当前的 Go 程中&#xff0c;而 f 的执行发生在新的 Go 程中。 Go 程在相同的地址空间中运行&#xff0c…

HTML学习笔记一

目录 HTML学习笔记 一、HTML标签 1、HTML语法规范 1.1标签的语法概述 1.2标签关系 2、HTML基本结构标签 2.1第一个HTML 2.2基本结构标签总结 3、开发工具 4、HTML常用标签 4.1标签的语义 4.2标题标签 4.3段落和换行标签 4.4文本格式化标签 4.5div和span标签 4.…

光缆线路网的组网结构是怎样的

1 引言 根据GB 51158-2015《通信线路工程设计规范》&#xff0c;通信线路网包括长途线路、本地线路和接入线路&#xff0c;如图1所示。 图1 通信线路网的组成 根据传输媒质的不同&#xff0c;通信线路分为光缆线路和电缆线路。通信线路也经历了从架空明线到电缆线路再到光缆线路…

WRF模式的移植、运行、后处理及在多领域的应用

1、WRF模式的各个组成部分&#xff1b; 2、自主完成该模式的移植&#xff1b;3、自主完成模式运行&#xff1b; 4、自主完成模式后处理&#xff1b;5、通过多领域案例分析、实践&#xff0c;熟悉在多领域中的应用。 随着生态文明建设和“碳中和”战略的持续推进&#xff0c;我…

探索深度学习世界:掌握PyTorch,成为AI领域的行家

探索深度学习世界&#xff1a;掌握PyTorch&#xff0c;成为AI领域的行家 PyTorch的背景介绍PyTorch的基本概念与特点PyTorch的基本应用张量和自动求导神经网络搭建训练和测试模型 模型的保存和加载模型保存&#xff1a;模型加载&#xff1a;模型使用&#xff1a; PyTorch与其他…

前端开发在本地开发与后台进行联调阶段时,接口自动重定向https、HSTS 与 307 状态码

开发者在本地开发与后台进行联调阶段时&#xff0c;Chrome 浏览器上出现 307 状态码&#xff0c;并跳转到 https 版 但是 307 代码是什么含义呢&#xff1f;页面又为何会出现 307 状态码呢&#xff1f;我之前都没见过这个状态码&#xff0c;查了才知道原来它也是一种重定向。 …

C++-FFmpeg-8-(1)基本概念与原理-rtsp-I、P、B 帧-DTS、PTS-

目录 1.rtsp是什么&#xff1f; 2. I、P、B 帧 3.DTS、PTS 4.rtsp协议抓包分析&#xff1f; 1.rtsp是什么&#xff1f; 流程&#xff1a; 鉴权&#xff1a; 2种 &#xff1a;basice64 Digest 哈希值 哈希值不可逆。nonce 做的单项散列&#xff08;MD5,SHA512&#xff0…