当前位置: 首页 > news >正文

Leetcode :杨辉三角

给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

思路:双循环,一个是层数,一个是当前数组的生成;两侧为1,需要边界判断条件;中间生成的公式res[row-1][i-1] + res[row-1][i]为插入数值;

!!!不能直接二位数组插入单个字符元素,可以先生成temp数组,一行结束后讲temp以元素形式插入到res结果数组中。

!!!记得temp清空temp.clear()

#include <iostream>
#include <vector>using namespace std;class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> res;vector<int> temp;for (int row = 0; row < numRows; row++){for (int i = 0; i < row + 1; i++){if (i == 0 || i == row){temp.push_back(1);}else{temp.push_back(res[row-1][i-1] + res[row-1][i]);}}res.push_back(temp); // 保存前一行temp.clear(); // 清空临时数组}return res;}
};int main(){Solution s;vector<vector<int>> res = s.generate(5);cout << "[";for (auto i : res){if (i == res[0]) cout << "[";else cout << ",[";for (auto j : i){if (j == i[0])   cout << j;else cout << "," << j;}cout << "]";}cout << "]";return 0;
}

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

思路:在原有基础上改进的算法,就是输出最后一行,浪费资源,时间复杂度较高

!!!看了示例代码,才知道杨辉三角可以推导,不得不说,单循环遍历就够了,直接生成

#include <iostream>
#include <vector>using namespace std;// class Solution {
// public:
//     vector<int> getRow(int rowIndex) {
//         vector<vector<int>> res;
//         vector<int> temp;
//         for (int row = 0; row <= rowIndex; row++){
//             for (int i = 0; i <= row; i++){
//                 if (i == 0 || i == row){
//                     temp.push_back(1);
//                 }
//                 else{
//                     temp.push_back(res[row-1][i-1] + res[row-1][i]);
//                 }
//             }
//             res.push_back(temp); // 保存前一行
//             temp.clear(); // 清空临时数组
//         }
//         return res[rowIndex];
//     }
// };class Solution {
public:vector<int> getRow(int rowIndex) {vector<int> ans = {1};long long c = rowIndex;int n = rowIndex;for (int i = 1; i <= rowIndex;) {ans.push_back(c);c *= --n;c /= ++i;}return ans;}
};
int main(){Solution s;vector<int> res = s.getRow(3);for (int i = 0; i < res.size(); i++){cout << res[i] << " ";}cout << endl;return 0;
}

相关文章:

Leetcode :杨辉三角

给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 思路&#xff1a;双循环&#xff0c;一个是层数&#xff0c;一个是当前数组的生成&#xff1b;两侧为1&#xff0c;需要边界判断条件…...

MWC 2024丨美格智能CEO杜国彬出席中国联通创新成果发布会并发表主题演讲

2月26日&#xff0c;中国联通在MWC2024 巴塞罗那期间举办了以“算网为基&#xff0c;智领未来”为主题的创新成果发布会&#xff0c;集中展示最新的创新成果与最佳实践。 中国通信标准化协会理事长闻库、GSMA首席财务官Louise Easterbrook、中国联通副总经理梁宝俊、华为ICT销…...

个人建站前端篇(七)vite + vue3企业级项目模板

一、vite命令行创建项目 npm create vitelatest根据提示选择模板&#xff0c;选择vite vue3 ts即可。 二、项目连接远程仓库 git init git remote add origin https://gitee.com/niech_project/vite-vue3-template.git git pull origin master git checkout -b dev三、项目…...

centos7 安装 docker-compose

1、直接参考官方&#xff1a; Install Compose standalone | Docker Docs 1、安装命令 curl -SL https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose 2、修改 docker-compose 执行权限 不修改执行权…...

剑指offer面试题28:对称的二叉树

#试题28&#xff1a;对称的二叉树 题目&#xff1a; 请设计一个函数判断一棵二叉树是否 轴对称 。 示例 1&#xff1a; 输入&#xff1a;root [6,7,7,8,9,9,8] 输出&#xff1a;true 解释&#xff1a;从图中可看出树是轴对称的。示例 2&#xff1a; 输入&#xff1a;root …...

JS:原型与原型链(附带图解与代码)

一、原型 写在前面&#xff1a; 任何对象都有原型。 函数也是对象&#xff0c;所以函数也有原型。 1.什么是原型 在 JavaScript 中&#xff0c;对象有一个特殊的隐藏属性 [[Prototype]]&#xff0c;它要么为 null&#xff0c;要么就是对另一个对象的引用&#xff0c;该对象…...

电子电器架构新趋势 —— 最佳着力点:域控制器

电子电器架构新趋势 —— 最佳着力点&#xff1a;域控制器 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师&#xff08;Wechat&#xff1a;gongkenan2013&#xff09;。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师…...

C++记录

常用快捷键&#xff1a; CTRL -向后定位 CTRL SHIFT -向前定位 1.注释&#xff1a;CTRLKC 2.取消注释&#xff1a;CTRLKU 11.调试(启动)&#xff1a;F5 20.查找&#xff1a;CTRLF 21.替换&#xff1a;CTRLH 31.跳转到指定的某一行 1)方法1&#xff1a;组合键“CtrlG…...

ConcurrentModificationException并发修改异常

ConcurrentModificationException并发修改异常 原因分析 可以通过遍历索引也可以通过迭代器进行遍历。在我们使用迭代器进行遍历集合的时候&#xff0c;会获取到当前集合的迭代对象。在里面有封装了迭代器的remove方法与集合自带的remove方法&#xff0c;如果我们调用迭代器对…...

小程序事件处理

事件处理 一个应用仅仅只有界面展示是不够的&#xff0c;还需要和用户做交互&#xff0c;例如&#xff1a;响应用户的点击、获取用户输入的值等等&#xff0c;在小程序里边&#xff0c;我们就通过编写 JS 脚本文件来处理用户的操作 1. 事件绑定和事件对象 小程序中绑定事件与…...

蓝桥杯-单片机组基础6——定时计数器与外部中断混合使用(附小蜜蜂课程代码)

蓝桥杯单片机组备赛指南请查看这篇文章&#xff1a;戳此跳转蓝桥杯备赛指南文章 本文章针对蓝桥杯-单片机组比赛开发板所写&#xff0c;代码可直接在比赛开发板上使用。 型号&#xff1a;国信天长4T开发板&#xff08;绿板&#xff09;&#xff0c;芯片&#xff1a;IAP15F2K6…...

交友社交软件开发-php交友聊天系统-

为了开发一个高效的交友系统&#xff0c;需要一个完善的信息管理和筛选机制。这个系统应该能够根据用户的个人信息、兴趣爱好、价值观等标准进行筛选&#xff0c;并向用户提供符合他们要求心仪的人的信息。为了实现这个目标&#xff0c;系统可以利用人工智能技术&#xff0c;分…...

vue2 开发记录

el-select 如何修改选择项的样式/el-select-dropdown__item 文字上下显示 测试代码 <div stylemargin-left: 100px><!-- 测试代码--><el-select filterablesizemini><div classxxx-el-select><el-optionv-foritem in [{key:1,des:2,…...

QML中表格中数据获取

1.在生成的动态表格中获取某格数据的内容 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableMod…...

【mysql 数据库事务】开启事务操作数据库,写入失败后,不回滚,会有问题么? 这里隐藏着大坑,复试,面试时可以镇住面试老师!!!!

建表字段: CREATE TABLE user (id INT(11) NOT NULL AUTO_INCREMENT,nickname VARCHAR(32) NOT NULL COLLATE utf8mb4_general_ci,email VARCHAR(32) NOT NULL COLLATE utf8mb4_general_ci,status SMALLINT(6) UNSIGNED NULL DEFAULT NULL,password VARCHAR(256) NULL DEFAULT…...

Go语言的100个错误使用场景(55-60)|并发基础

前言 大家好&#xff0c;这里是白泽。**《Go语言的100个错误以及如何避免》**是最近朋友推荐我阅读的书籍&#xff0c;我初步浏览之后&#xff0c;大为惊喜。就像这书中第一章的标题说到的&#xff1a;“Go: Simple to learn but hard to master”&#xff0c;整本书通过分析1…...

钉钉机器人发送折线图卡片 工具类代码

钉钉机器人 “创建并投放卡片 接口 ” 可以 发送折线图、柱状图 官方文档&#xff1a;创建并投放卡片 - 钉钉开放平台 0依赖、1模板、2机器人放到内部应用、3放开这个权限 、4工具类、5调用工具类 拼接入参 卡片模板 自己看文档创建&#xff0c;卡片模板的id 有用 0、依赖…...

基于springboot的大型商场应急预案管理系统论文

大型商场应急预案管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了大型商场应急预案管理系统的开发全过程。通过分析大型商场应急预案管理系统管理的不足&#xff0c;创建了一个计算机管理大型商场应急…...

强化学习嵌入Transformer(代码实践)

这里写目录标题 ChatGPT的答案GPT4.0 ChatGPT的答案 # 定义Transformer模块 class Transformer(nn.Module):def __init__(self, input_dim, hidden_dim, num_heads, num_layers):super(Transformer, self).__init__()self.encoder_layer nn.TransformerEncoderLayer(d_modeli…...

决定西弗吉尼亚州地区版图的关键历史事件

决定西弗吉尼亚州地区版图的关键历史事件&#xff1a; 1. 内部分裂与美国内战&#xff1a; - 在1861年美国内战爆发时&#xff0c;弗吉尼亚州作为南方邦联的一员宣布退出美利坚合众国。然而&#xff0c;弗吉尼亚州西部的一些县由于经济结构&#xff08;主要是农业非依赖奴隶制…...

Sixfab NB-IoT Shield 底层驱动与AT指令深度解析

1. Sixfab NB-IoT Shield 嵌入式底层驱动技术解析Sixfab NB-IoT Shield 是一款面向 Arduino 生态的窄带物联网通信扩展板&#xff0c;专为低功耗广域网&#xff08;LPWAN&#xff09;应用设计&#xff0c;支持 3GPP R13/R14 标准的 NB-IoT 协议栈。该模块基于 u-blox SARA-N2 系…...

BilibiliDown:打造你的个人B站视频库,高效管理离线内容

BilibiliDown&#xff1a;打造你的个人B站视频库&#xff0c;高效管理离线内容 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/…...

快手Blaze引擎开源:揭秘Spark向量化技术的性能飞跃与生产实践

1. 为什么我们需要Spark向量化引擎&#xff1f; 如果你用过Spark处理大数据&#xff0c;肯定遇到过查询速度慢、资源消耗大的问题。传统Spark执行引擎采用"逐行处理"模式&#xff0c;就像用勺子一勺一勺吃饭——效率低还费劲。而向量化引擎则像用铲子一次铲一大把&am…...

cv_unet_image-colorization跨平台部署:Windows与Linux性能对比

cv_unet_image-colorization跨平台部署&#xff1a;Windows与Linux性能对比 1. 环境准备与快速部署 想要让黑白照片变彩色&#xff0c;cv_unet_image-colorization是个不错的选择。不过在开始之前&#xff0c;得先准备好运行环境。Windows和Linux系统在部署时有些不同&#x…...

别等2026年Q3!奇点大会预警:文本生成合规红线将在6个月内强制接入国家AIGC监管沙箱

第一章&#xff1a;2026奇点智能技术大会&#xff1a;大模型文本生成 2026奇点智能技术大会(https://ml-summit.org) 核心突破&#xff1a;上下文感知的动态长度建模 本届大会首次公开演示了支持 256K tokens 动态窗口滑动的文本生成架构&#xff0c;其关键创新在于将传统固定…...

基于Docker的达梦数据库快速部署指南

1. 为什么选择Docker部署达梦数据库 第一次接触达梦数据库时&#xff0c;我像大多数开发者一样选择了传统安装方式。结果花了大半天时间处理依赖库冲突&#xff0c;最后还因为系统环境问题导致安装失败。后来尝试用Docker部署&#xff0c;整个过程只用了15分钟——这就是容器化…...

临床医生也能懂的蛋白质组学:疾病标志物发现全流程解析

临床医生也能懂的蛋白质组学&#xff1a;疾病标志物发现全流程解析 在肝癌诊疗中&#xff0c;我们常遇到这样的困境&#xff1a;当超声发现肝脏占位时&#xff0c;患者往往已进入中晚期。而甲胎蛋白&#xff08;AFP&#xff09;作为传统标志物&#xff0c;其敏感性和特异性仅约…...

手把手教你搭建开源‘零信任’入口:基于FreeIPA和FreeRadius的2FA网关配置全记录

从零构建企业级双因素认证门户&#xff1a;FreeIPAFreeRadius实战指南 当团队规模扩张到20人以上时&#xff0c;分散在各个系统里的账号密码就像散落的拼图——防火墙用一套凭证、内部Wiki用另一套、VPN又是独立的账号体系。每次有新成员加入&#xff0c;运维人员不得不在多个系…...

【大模型容灾备份黄金标准】:20年SRE专家亲授3层冗余架构设计与RTO<30秒实战方案

第一章&#xff1a;大模型工程化容灾备份方案设计 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化过程中&#xff0c;模型权重、训练检查点、推理缓存及元数据的高可用性与一致性是系统稳定运行的核心前提。容灾备份不能仅依赖传统周期快照&#xff0c;而需融合多…...

MiniMax M. 发布!Redis 故障排查 + 跨语言重构场景实测,表现如何?焉

一、前言&#xff1a;什么是 OFA VQA 模型&#xff1f; OFA&#xff08;One For All&#xff09;是字节跳动提出的多模态预训练模型&#xff0c;支持视觉问答、图像描述、图像编辑等多种任务&#xff0c;其中视觉问答&#xff08;VQA&#xff09;是最常用的功能之一——输入一…...