【优选算法题练习】day9

文章目录

  • 一、DP35 【模板】二维前缀和
    • 1.题目简介
    • 2.解题思路
    • 3.代码
    • 4.运行结果
  • 二、面试题 01.01. 判定字符是否唯一
    • 1.题目简介
    • 2.解题思路
    • 3.代码
    • 4.运行结果
  • 三、724. 寻找数组的中心下标
    • 1.题目简介
    • 2.解题思路
    • 3.代码
    • 4.运行结果
  • 总结


一、DP35 【模板】二维前缀和

1.题目简介

DP35 【模板】二维前缀和
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
题目来源于牛客网,可通过链接进行练习。

2.解题思路

3.代码

#include <iostream>
using namespace std;
#include<vector>
int main() {int n, m, q;while (cin >> n >> m >> q) {vector<vector<long long>> nums(n + 1, vector<long long> (m + 1));for(int i = 1;i <= n; ++i){for(int j = 1;j <= m; ++j){cin>>nums[i][j];}}vector<vector<long long>> dp(n + 1, vector<long long> (m + 1));for(int i = 1;i <= n; ++i){for(int j = 1;j <= m; ++j){dp[i][j] = nums[i][j] + dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1];}}while(q--){int x1 = 0, y1 = 0, x2 = 0, y2 = 0;cin >> x1 >> y1 >> x2 >> y2;cout<<dp[x2][y2] - (dp[x1 - 1][y2] + dp[x2][y1 - 1] - dp[x1 - 1][y1 - 1])<<endl;}}return 0;
}

4.运行结果

在这里插入图片描述

二、面试题 01.01. 判定字符是否唯一

1.题目简介

面试题 01.01. 判定字符是否唯一
在这里插入图片描述
题目来源于Leetcode,可通过链接练习。

2.解题思路

3.代码

class Solution {
public:bool isUnique(string astr) {//用一个整数来充当哈希表int n = 0;for(auto& e : astr){int t = e - 'a';if((n & (1 << t)) == 0){n ^= (1 << t);}else{return false;}}return true;}
};

4.运行结果

在这里插入图片描述

三、724. 寻找数组的中心下标

1.题目简介

724. 寻找数组的中心下标
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
题目来源于Leetcode,可通过链接练习。

2.解题思路

3.代码

class Solution {
public:int pivotIndex(vector<int>& nums) {vector<int> lsum(nums.size());//左边的前缀和vector<int> rsum(nums.size());//右边的前缀和for(int i = 1;i < nums.size(); ++i){lsum[i] = lsum[i - 1] + nums[i - 1];}for(int i = nums.size() - 2;i >= 0; --i){rsum[i] = rsum[i + 1] + nums[i + 1];}for(int i = 0;i < nums.size(); ++i){if(lsum[i] == rsum[i]) return i;}return -1;}
};

4.运行结果

在这里插入图片描述


总结

今天是算法练习的第9天,继续加油。
如果本篇文章对你有所启发的话,希望可以多多支持作者,谢谢大家!

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

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

相关文章

百度智能云连拿四年第一,为什么要深耕AI公有云市场

AI是过去几年云计算市场中的最大变量&#xff0c;而大模型的成熟&#xff0c;毫无疑问将指数级增强这个变量。 记得在2022年年底&#xff0c;生成式AI与大模型开始爆火的时候&#xff0c;我们就曾讨论过一个问题&#xff1a;这轮AI浪潮中&#xff0c;最先受到深刻影响的将是云计…

Oracle 多条记录根据某个字段获取相邻两条数据间的间隔天数,小于31天的记录都筛选出来

需求描述&#xff1a;在Oracle中 住院记录记录表为v_hospitalRecords&#xff0c;表中FIHDATE入院时间&#xff0c;FBIHID是住院号&#xff0c; 我想查询出每个患者在他们的所有住院记录中是否在一个月内再次入院(相邻的两条记录进行比较)&#xff0c;并且住院记录大于一的患者…

qsort的使用及模拟实现

qsort函数是C语言库中提供的一种快速排序&#xff0c;头文件是stdlib.h qsort的使用 qsort函数需要四个参数&#xff1a; 1.排序的起始位置的地址&#xff08;数组名&#xff09;: arr 2.排序元素的个数&#xff1a; sizeof&#xff08;arr)/sizeof(arr[0]) 3.排序元素…

ChatGPT:人工智能开启智能交流新篇章

一、ChatGPT&#xff1a;智能交流的新里程碑 ChatGPT是OpenAI基于GPT技术的最新版本&#xff0c;采用深度学习模型&#xff0c;通过预训练和微调的方式&#xff0c;使其能够理解和生成自然语言&#xff0c;从而实现与人类更自然、流畅的对话和交流。 二、ChatGPT的技术原理与优…

第十四届蓝桥杯大赛青少年国赛C++组试题真题 2023年5月

第十四届蓝桥杯大赛青少年国赛C组试题真题&#xff08;2023年5月28日&#xff09; 一、选择题 第 1 题 单选题 以下选项中&#xff0c;没有利用“比较”操作的算法是&#xff08; &#xff09;。 A.选择排序 B.冒泡排序 C.插入排序 D.桶排序 第 2 题 单选题 假设入栈…

echarts 饼图中间添加文字

需求&#xff1a;饼图中间展示总量数据 方法一、设置series对应饼图的label属性 series: [{type: "pie",radius: [55%, 62%],center: ["67%", "50%"],itemStyle: {borderRadius: 10,borderColor: #fff,borderWidth: 2},// 主要代码在这里label: …

protobuf入门实践1

protobuf入门实践1 下载和安装 protobuf&#xff1a;https://github.com/google/protobuf 解压压缩包&#xff1a;unzip protobuf-master.zip 2、进入解压后的文件夹&#xff1a;cd protobuf-master 3、安装所需工具&#xff1a;sudo apt-get install autoconf automake libt…

预制菜的崛起:味觉革命还是快节奏生活的产物?

《预制菜的崛起&#xff1a;味觉革命还是快节奏生活的产物&#xff1f;》 目录 引言预制菜的定义和种类市场概况&#xff1a;一路繁荣预制菜的优势&#xff1a;快速、便捷、美味质量问题与消费者疑虑行业标准与监管&#xff1a;确保食品安全未来展望&#xff1a;科技与良性发…

PostgreSQL数据库动态共享内存管理器——Dynamic shared memory areas

dsm.c提供的功能允许创建后端进程间共享的共享内存段。DSA利用多个DSM段提供共享内存heap&#xff1b;DSA可以利用已经存在的共享内存&#xff08;DSM段&#xff09;也可以创建额外的DSM段。和系统heap使用指针不同的是&#xff0c;DSA提供伪指针&#xff0c;可以转换为backend…

python与深度学习(六):CNN和手写数字识别二

目录 1. 说明2. 手写数字识别的CNN模型测试2.1 导入相关库2.2 加载数据和模型2.3 设置保存图片的路径2.4 加载图片2.5 图片预处理2.6 对图片进行预测2.7 显示图片 3. 完整代码和显示结果4. 多张图片进行测试的完整代码以及结果 1. 说明 本篇文章是对上篇文章训练的模型进行测试…

阿里云国际版云服务器防火墙设置

阿里云国际版云服务器防火墙设置 入侵防御页面为您实时展示云防火墙拦截流量的源IP、目的IP、阻断应用、阻断来源和阻断事件详情等信息。本文介绍了入侵防御页面展示的信息和相关操作&#xff0c;下面和012一起来了解阿里云国际版云服务器防火墙设置&#xff1a; 前提条件 您需…

工具推荐:Linux Busybox

文章首发地址 BusyBox是一个开源的、轻量级的、可嵌入式的、多个Unix工具的集合。BusyBox提供了各种Unix工具的实现&#xff0c;包括文件处理工具、网络工具、shell工具、系统管理工具、进程管理工具等等。它被设计为一个小巧、高效、可靠、易于维护的工具&#xff0c;适用于嵌…

Java在线OJ项目(二)、数据库与题目的增删改查【后端如何操作数据和数据库】

Java在线OJ项目&#xff08;二&#xff09;、数据库与题目的增删改查【后端如何操作数据和数据库】 &#xff08;二&#xff09;、数据库与题目的增删改查【后端如何操作数据和数据库】1. 设计题目的数据库 格式2. 存储题目类3. 数据库连接代码&#xff08;common所有模块都可以…

微服务——服务异步通讯RabbitMQ

前置文章 消息队列——RabbitMQ基本概念容器化部署和简单工作模式程序_北岭山脚鼠鼠的博客-CSDN博客 消息队列——rabbitmq的不同工作模式_北岭山脚鼠鼠的博客-CSDN博客 消息队列——spring和springboot整合rabbitmq_北岭山脚鼠鼠的博客-CSDN博客 目录 Work queues 工作队列…

设计模式 - 工厂模式

一、 简单工厂&#xff08;Simple Factory Pattern&#xff09; 1、概念 一个工厂对象决定创建出哪一种产品类的实力&#xff0c;但不属于GOF23种设计模式。 简单工厂适用于工厂类负责创建的对象较少的场景&#xff0c;且客户端只需要传入工厂类的参数&#xff0c;对于如何创…

Andrew算法求凸包模板

前置知识 向量的叉乘: 设 a ⃗ ( x a , y a , z a ) , b ⃗ ( x b , y b , z b ) \vec a(x_a,y_a,z_a), \vec b(x_b, y_b,z_b) a (xa​,ya​,za​),b (xb​,yb​,zb​), 令 a ⃗ \vec a a 和 b ⃗ \vec b b 的叉乘为 c ⃗ \vec c c , 有: c ⃗ ∣ i j k x a y a z a x b y…

【深度学习】GPT-3

2020年5月&#xff0c;OpenAI在长达72页的论文《https://arxiv.org/pdf/2005.14165Language Models are Few-Shot Learners》中发布了GPT-3&#xff0c;共有1750亿参数量&#xff0c;需要700G的硬盘存储&#xff0c;(GPT-2有15亿个参数)&#xff0c;它比GPT-2有了极大的改进。根…

钉钉返回:访问ip不在白名单之中,请参考FAQ

新版钉钉 在开发管理-服务器出口IP-配置返回错误信息返回给你的requestIp

k8s部署新版elasticsearch+kibana并配置快照备份

版本:es 7.17.6 kibana 7.17.6 k8s:1.19.16 一、介绍 Elasticsearch和Kibana是一对强大的开源工具&#xff0c;通常一起使用以构建实时数据分析和可视化解决方案。 Elasticsearch: Elasticsearch是一个分布式、高性能的实时搜索和分析引擎。它构建在开源搜索引擎库Lucene之上…

【C++】开源:Redis数据库配置与使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Redis数据库配置与使用。 无专精则不能成&#xff0c;无涉猎则不能通。。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c…