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,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 思路:双循环,一个是层数,一个是当前数组的生成;两侧为1,需要边界判断条件…...
MWC 2024丨美格智能CEO杜国彬出席中国联通创新成果发布会并发表主题演讲
2月26日,中国联通在MWC2024 巴塞罗那期间举办了以“算网为基,智领未来”为主题的创新成果发布会,集中展示最新的创新成果与最佳实践。 中国通信标准化协会理事长闻库、GSMA首席财务官Louise Easterbrook、中国联通副总经理梁宝俊、华为ICT销…...
个人建站前端篇(七)vite + vue3企业级项目模板
一、vite命令行创建项目 npm create vitelatest根据提示选择模板,选择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、直接参考官方: 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:对称的二叉树 题目: 请设计一个函数判断一棵二叉树是否 轴对称 。 示例 1: 输入:root [6,7,7,8,9,9,8] 输出:true 解释:从图中可看出树是轴对称的。示例 2: 输入:root …...
JS:原型与原型链(附带图解与代码)
一、原型 写在前面: 任何对象都有原型。 函数也是对象,所以函数也有原型。 1.什么是原型 在 JavaScript 中,对象有一个特殊的隐藏属性 [[Prototype]],它要么为 null,要么就是对另一个对象的引用,该对象…...
电子电器架构新趋势 —— 最佳着力点:域控制器
电子电器架构新趋势 —— 最佳着力点:域控制器 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师…...
C++记录
常用快捷键: CTRL -向后定位 CTRL SHIFT -向前定位 1.注释:CTRLKC 2.取消注释:CTRLKU 11.调试(启动):F5 20.查找:CTRLF 21.替换:CTRLH 31.跳转到指定的某一行 1)方法1:组合键“CtrlG…...
ConcurrentModificationException并发修改异常
ConcurrentModificationException并发修改异常 原因分析 可以通过遍历索引也可以通过迭代器进行遍历。在我们使用迭代器进行遍历集合的时候,会获取到当前集合的迭代对象。在里面有封装了迭代器的remove方法与集合自带的remove方法,如果我们调用迭代器对…...
小程序事件处理
事件处理 一个应用仅仅只有界面展示是不够的,还需要和用户做交互,例如:响应用户的点击、获取用户输入的值等等,在小程序里边,我们就通过编写 JS 脚本文件来处理用户的操作 1. 事件绑定和事件对象 小程序中绑定事件与…...
蓝桥杯-单片机组基础6——定时计数器与外部中断混合使用(附小蜜蜂课程代码)
蓝桥杯单片机组备赛指南请查看这篇文章:戳此跳转蓝桥杯备赛指南文章 本文章针对蓝桥杯-单片机组比赛开发板所写,代码可直接在比赛开发板上使用。 型号:国信天长4T开发板(绿板),芯片:IAP15F2K6…...
交友社交软件开发-php交友聊天系统-
为了开发一个高效的交友系统,需要一个完善的信息管理和筛选机制。这个系统应该能够根据用户的个人信息、兴趣爱好、价值观等标准进行筛选,并向用户提供符合他们要求心仪的人的信息。为了实现这个目标,系统可以利用人工智能技术,分…...
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)|并发基础
前言 大家好,这里是白泽。**《Go语言的100个错误以及如何避免》**是最近朋友推荐我阅读的书籍,我初步浏览之后,大为惊喜。就像这书中第一章的标题说到的:“Go: Simple to learn but hard to master”,整本书通过分析1…...
钉钉机器人发送折线图卡片 工具类代码
钉钉机器人 “创建并投放卡片 接口 ” 可以 发送折线图、柱状图 官方文档:创建并投放卡片 - 钉钉开放平台 0依赖、1模板、2机器人放到内部应用、3放开这个权限 、4工具类、5调用工具类 拼接入参 卡片模板 自己看文档创建,卡片模板的id 有用 0、依赖…...
基于springboot的大型商场应急预案管理系统论文
大型商场应急预案管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了大型商场应急预案管理系统的开发全过程。通过分析大型商场应急预案管理系统管理的不足,创建了一个计算机管理大型商场应急…...
强化学习嵌入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…...
决定西弗吉尼亚州地区版图的关键历史事件
决定西弗吉尼亚州地区版图的关键历史事件: 1. 内部分裂与美国内战: - 在1861年美国内战爆发时,弗吉尼亚州作为南方邦联的一员宣布退出美利坚合众国。然而,弗吉尼亚州西部的一些县由于经济结构(主要是农业非依赖奴隶制…...
Sixfab NB-IoT Shield 底层驱动与AT指令深度解析
1. Sixfab NB-IoT Shield 嵌入式底层驱动技术解析Sixfab NB-IoT Shield 是一款面向 Arduino 生态的窄带物联网通信扩展板,专为低功耗广域网(LPWAN)应用设计,支持 3GPP R13/R14 标准的 NB-IoT 协议栈。该模块基于 u-blox SARA-N2 系…...
BilibiliDown:打造你的个人B站视频库,高效管理离线内容
BilibiliDown:打造你的个人B站视频库,高效管理离线内容 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/…...
快手Blaze引擎开源:揭秘Spark向量化技术的性能飞跃与生产实践
1. 为什么我们需要Spark向量化引擎? 如果你用过Spark处理大数据,肯定遇到过查询速度慢、资源消耗大的问题。传统Spark执行引擎采用"逐行处理"模式,就像用勺子一勺一勺吃饭——效率低还费劲。而向量化引擎则像用铲子一次铲一大把&am…...
cv_unet_image-colorization跨平台部署:Windows与Linux性能对比
cv_unet_image-colorization跨平台部署:Windows与Linux性能对比 1. 环境准备与快速部署 想要让黑白照片变彩色,cv_unet_image-colorization是个不错的选择。不过在开始之前,得先准备好运行环境。Windows和Linux系统在部署时有些不同&#x…...
别等2026年Q3!奇点大会预警:文本生成合规红线将在6个月内强制接入国家AIGC监管沙箱
第一章:2026奇点智能技术大会:大模型文本生成 2026奇点智能技术大会(https://ml-summit.org) 核心突破:上下文感知的动态长度建模 本届大会首次公开演示了支持 256K tokens 动态窗口滑动的文本生成架构,其关键创新在于将传统固定…...
基于Docker的达梦数据库快速部署指南
1. 为什么选择Docker部署达梦数据库 第一次接触达梦数据库时,我像大多数开发者一样选择了传统安装方式。结果花了大半天时间处理依赖库冲突,最后还因为系统环境问题导致安装失败。后来尝试用Docker部署,整个过程只用了15分钟——这就是容器化…...
临床医生也能懂的蛋白质组学:疾病标志物发现全流程解析
临床医生也能懂的蛋白质组学:疾病标志物发现全流程解析 在肝癌诊疗中,我们常遇到这样的困境:当超声发现肝脏占位时,患者往往已进入中晚期。而甲胎蛋白(AFP)作为传统标志物,其敏感性和特异性仅约…...
手把手教你搭建开源‘零信任’入口:基于FreeIPA和FreeRadius的2FA网关配置全记录
从零构建企业级双因素认证门户:FreeIPAFreeRadius实战指南 当团队规模扩张到20人以上时,分散在各个系统里的账号密码就像散落的拼图——防火墙用一套凭证、内部Wiki用另一套、VPN又是独立的账号体系。每次有新成员加入,运维人员不得不在多个系…...
【大模型容灾备份黄金标准】:20年SRE专家亲授3层冗余架构设计与RTO<30秒实战方案
第一章:大模型工程化容灾备份方案设计 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化过程中,模型权重、训练检查点、推理缓存及元数据的高可用性与一致性是系统稳定运行的核心前提。容灾备份不能仅依赖传统周期快照,而需融合多…...
MiniMax M. 发布!Redis 故障排查 + 跨语言重构场景实测,表现如何?焉
一、前言:什么是 OFA VQA 模型? OFA(One For All)是字节跳动提出的多模态预训练模型,支持视觉问答、图像描述、图像编辑等多种任务,其中视觉问答(VQA)是最常用的功能之一——输入一…...
