OJ:C++ | [vector] — 力扣

news2024/11/18 15:37:37

文章目录

  • 118. 杨辉三角 - 力扣
    • 思路
    • 解:
  • 17. 电话号码的字母组合 - 力扣
    • 思路:递归
    • 解:
  • 137. 只出现一次的数字 II- 力扣
    • 思路:
    • 解:

118. 杨辉三角 - 力扣

题目链接:118. 杨辉三角 - 力扣(LeetCode)

题目内容:

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

示例 2:
输入: numRows = 1
输出: [[1]]

思路

在这里插入图片描述

解:

class Solution {
public:
    vector<vector<int>> generate(int numRows) 
    {
        vector<vector<int>> vv;
        vv.resize(numRows,vector<int>());
        for(int i = 0;i < numRows;++i)
        {
            vv[i].resize(i+1,0);
            vv[i][0] = vv[i][vv[i].size()-1] = 1;
            for(int j = 1;j < vv[i].size()-1;++j)
            {
                vv[i][j]=vv[i-1][j-1]+vv[i-1][j];
            }
        }
        return vv;
    }
};

17. 电话号码的字母组合 - 力扣

题目链接:17. 电话号码的字母组合 - 力扣(LeetCode)

题目内容:

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
在这里插入图片描述

示例 1:
输入:digits = "23"
输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:
输入:digits = ""
输出:[]

示例 3:
输入:digits = "2"
输出:["a","b","c"]

思路:递归

  • 示例:
    string digits = "234"
    则 如下图:
    在这里插入图片描述

解:

class Solution {
    vector<string> DigitToAlphet = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
public:
    void Combinations(const string& digits,size_t di,string combination,vector<string>& ret)
    //combination用来存储每层递归后,最终得到的一个组合的string
    //di是用来标识string digits中的数字读到第几个
    {
        if(di==digits.size())
        {
            ret.push_back(combination);
            return;
        }
        int num = digits[di] - '0';
        for(auto e:DigitToAlphet[num])
        {
            Combinations(digits,di+1,combination+e,ret);
        }
    } 

    vector<string> letterCombinations(string digits) 
    {
        vector<string> ret;
        if(!digits.empty())
            Combinations(digits,0,"",ret);
        return ret;
    }
};

137. 只出现一次的数字 II- 力扣

题目链接:137. 只出现一次的数字 II- 力扣(LeetCode)

题目内容:

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

注意:你必须设计并实现线性时间复杂度的算法不使用额外空间来解决此问题。

示例 1:
输入:nums = [2,2,3,2]
输出:3

示例 2:
输入:nums = [0,1,0,1,0,1,99]
输出:99

思路:

文字版详细思路见力扣官方题解。

下图为官方题解中的方法二的图解。
在这里插入图片描述

解:

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int ret=0;
        for(int i=0;i<32;++i)
        {
            int sum=0;
            for(auto e:nums)
            {
                sum += ((e>>i)&1);
            }
            if(sum%3)
                ret |= (1<<i);
        }
        return ret;
    }
};

END

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

车载开发核心技术——SystemUI控制技术

SystemUI是指车载开发中的一个重要组件&#xff0c;它负责管理和控制车机的用户界面和交互功能。本文将详细介绍SystemUI的各项控制技术&#xff0c;包括音量控制、RingtonePlayer、电源管理、任务管理、通知栏和服务定制&#xff0c;并提供相关代码示例和解析。 一、音量控制…

【Docker】Docker容器化技术基础

Docker容器化技术 Docker&#xff08;软件跨环境迁移&#xff09;Docker概念&#xff1a;安装Dockerdocker架构配置Docker镜像加速器 一、Docker命令服务daemon相关的命令镜像相关命令Docker容器相关命令 二、Docker容器的数据卷数据卷概念配置数据卷配置数据卷容器 三、Docker…

【linux--->数据链路层协议】

文章目录 [TOC](文章目录) 一、数据链路层协议概念二、以太网帧格式1.字段分析 三、局域网通信原理四、ARP协议1.结构2.作用3.ARP通信过程4.ARP协议相关命令 五、局域网内中间人原理六、DNS系统(域名系统)1.域名概念2.DNS系统组成3.DNS协议3.浏览器输入域名后的通信过程4.dig工…

网络授权验证在线发卡系统是什么

软件授权发卡系统是一种用于对软件进行授权管理的系统。在当前数字化时代&#xff0c;软件授权发卡系统的应用越来越广泛&#xff0c;不仅可以帮助软件开发商保护自己的软件知识产权&#xff0c;还可以帮助用户合法使用软件&#xff0c;从而实现双赢的局面。 软件授权发卡系统的…

深度学习实战46-基于CNN的遥感卫星地图智能分类,模型训练与预测

大家好,我是微学AI,今天给大家介绍一下深度学习实战46-基于CNN的遥感卫星地图智能分类,模型训练与预测。随着遥感技术和卫星图像获取能力的快速发展,卫星图像分类任务成为了计算机视觉研究中一个重要的挑战。为了促进这一领域的研究进展,EuroSAT数据集应运而生。本文将详细…

设计图一般都用什么工具制作?

每个设计师都需要设计图制作软件对设计图软件的选择也有一些需求&#xff0c;可以提高一些效率。网上有很多免费的PC设计软件。本文推荐了2023年5款易用的设计图制作软件 1.即时设计 即时设计是一款免费的在线 UI 设计工具&#xff0c;无系统限制&#xff0c;浏览器打开即可使…

WiFi无线组网温湿度实时监测系统

近年来随着我国电子技术和无线通信技术的快速发展&#xff0c;远距离数据采集传输被应用到众多领域&#xff0c;由于事关环境安全和生命健康&#xff0c;受到了各行各界的关注。在温湿度监测中&#xff0c;目前采用的通信技术主要是4G、WiFi、以太网、LoRa等&#xff0c;今天&a…

新学期来临,如何快速创建分班查询系统?

离开学的时间越来越近&#xff0c;一些老师正为如何通知学生分班信息而感到困扰。他们意识到使用在线文档存在学生信息安全的问题&#xff0c;因为同学和家长在查询时可能会误操作并更改其他同学的信息。另外&#xff0c;如果老师们需要逐个给同学和家长打电话通知&#xff0c;…

激荡十三年,消费金融进入“体验争夺战”的下半场

消费金融行业又开始涌动着变局。 先是一些老玩家悬着的心&#xff0c;终于落地。过去两年&#xff0c;消费金融是蚂蚁集团整改的关键板块。前不久&#xff0c;蚂蚁集团被监管部门开出71.23亿元的“罚单”&#xff0c;市场普遍认为这是利空出尽的信号。 与此同时&#xff0c;竞…

PDM系统解密:数据管理的利器

在当今数字化时代&#xff0c;数据管理对企业的重要性不言而喻。而PDM系统作为一款强大的数字化工具&#xff0c;正扮演着企业数据管理的利器角色。让我们一同探索PDM系统的功能科普&#xff0c;了解它是如何助力企业高效管理数据&#xff0c;实现卓越发展的。 一、数据中心化存…

C++ 对象指针

1.对象指针的一般概念 和基本类型的变量一样&#xff0c;每一个对象在初始化之后都会在内存中占有一定的空间。因此&#xff0c;既可以通过对象名&#xff0c;也可以通过对象地址来访问一个对象。虽然对象同时包含了数据和函数两种成员&#xff0c;与一般变量略有不同&#xf…

8.4作业

用信号量的方式实现打印1234567后打印7654321循环交替打印。 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<head.h> char buf[]"1234567"; sem_t sem; void *callBack1(void *arg) {int i0;int sstrlen(buf)-1;while…

Arthas常用命令之trace、watch、jad、mc

目录 一、Arthas是什么 二、Arthas能解决哪些问题 三、Arthas安装启动 3.1 环境说明 3.2 下载地址 3.3 快速使用 四、Arthas基础命令 五、Arthas查看jvm相关数据 六、Arthas搬砖过程中的常用命令 6.0 查看已加载的类信息 6.1 查看已加载类中的方法信息 6.2 反编译…

面向新能源智能汽车的新基建

一&#xff0e;什么是未来所需要的新基建&#xff1f; 二&#xff0e;如何正确认识新基建&#xff1f; 三&#xff0e;如何实现新基建有效投资/最大化新基建后期价值&#xff1f; 1、什么是面向新能源智能汽车的基础设施体系&#xff1f; 汽车电动化、智能化离不开新型基础设…

Dockerfile构建lamp镜像

1、构建目录 [rootdocker ~]# mkdir compose_lamp [rootdocker ~]# cd compose_lamp/ 2、编写Docekerfile [rootdocker compose_lamp]# vim Dockerfile #基础镜像 FROM centos:7#维护该镜像的用户信息 MAINTAINER Crushlinux <crushlinux163.com>#安装httpd RUN yum -…

企业新片场排名如何优化

企业新片场排名如何优化 要如何去做关键SEO&#xff1f;第一个我们要做的就是做好 SEO 关键词的选词&#xff0c;一般就是会有第一个常用的选词方法&#xff0c;第一是以常用的提问词去做&#xff0c;不实像是情人节买什么礼物&#xff0c;母亲节买什么礼物&#xff0c; 618 有…

c++类的继承和派生、继承和访问权限、子类的构造函数、子类型、二义性问题、多重继承、虚基类、以及常见错误

继承和派生 现实写照 父亲“派生”出儿子 儿子“继承”自父亲 派生和派生&#xff0c;本质是相同的&#xff0c;只是从不同的角度来描述。 继承和派生在UML 中的表示 注意是“空心三角箭头”&#xff0c;从子类【派生的类】指向父类【被继承的类】 父类&#xff0c;也称为“基…

【Linux后端服务器开发】Reactor模式实现网络计算器

目录 一、Reactor模式概述 二、日志模块&#xff1a;Log.hpp 三、TCP连接模块&#xff1a;Sock.hpp 四、非阻塞通信模块&#xff1a;Util.hpp 五、多路复用I/O模块&#xff1a;Epoller.hpp 六、协议定制模块&#xff1a;Protocol.hpp 七、服务器模块&#xff1a;Server.…

java实现钉钉群机器人@机器人获取信息后,机器人回复(机器人接收消息)

1.需求 鉴于需要使用钉钉群机器人回复&#xff0c;人们提出的问题&#xff0c;需要识别提出的问题中的关键词&#xff0c;后端进行处理实现对应的业务逻辑 2.实现方式 用户群机器人&#xff0c;附带提出的问题&#xff0c;后端接收消息后识别消息内容&#xff0c;读取到关键…

G-channel 实现低光图像增强

G-channel 之前研究低光图像增强时&#xff0c;看到一篇博客&#xff0c;里面介绍了一种方法&#xff0c;没有说明出处&#xff0c;也没有说明方法的名字&#xff0c;这里暂时叫做 G-channel 算法。 博客地址&#xff1a;低照度图像增强&#xff08;附步骤及源码&#xff09;…