1572.矩阵对角线元素的和

刷算法题:

第一遍:1.看5分钟,没思路看题解

2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。

3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法)

4.整理到自己的自媒体平台。

5.再刷重复的类似的题目,根据时间和任务安排刷哪几个板块

6.用c++语言 都刷过一遍了 就刷中等

一.题目

给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。

请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。

示例  1:

输入:mat = [[1,2,3],[4,5,6],[7,8,9]]
输出:25
解释:对角线的和为:1 + 5 + 9 + 3 + 7 = 25
请注意,元素 mat[1][1] = 5 只会被计算一次。

示例  2:

输入:mat = [[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]]
输出:8

示例 3:

输入:mat = [[5]]
输出:5

提示:

  • n == mat.length == mat[i].length
  • 1 <= n <= 100
  • 1 <= mat[i][j] <= 100

二、反思

1.自己的解法

class Solution {
public:int diagonalSum(vector<vector<int>>& mat) {int n=mat.size();int res=0;for(int i=0;i<n;i++){res +=mat[i][i]+mat[i][n-i-1];}if (n%2==1){return res-mat[(n-1)/2][(n-1)/2];}else  {return res;}}
};

2.题目的解法 

class Solution {
public:int diagonalSum(vector<vector<int>>& mat) {int n = mat.size(), sum = 0, mid = n / 2;for (int i = 0; i < n; ++i) {sum += mat[i][i] + mat[i][n - 1 - i];}return sum - mat[mid][mid] * (n & 1);}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/matrix-diagonal-sum/solutions/441166/ju-zhen-dui-jiao-xian-yuan-su-de-he-by-leetcode-so/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 3.思路的异同

思路整体一致,但是n&1判断奇偶性是自己没想到的。网上找到了原理:

因为n为奇数时,对应的二进制数最低位一定为1,n&1的结果就是1
n为偶数时,相应的最低位为0,n&1的结果就是0.

三.进步的地方

学到了利用逻辑运算符和2进制来判断奇偶性 

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

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

相关文章

ENVI必须会教程—Landsat卫星的加载与波段读取

实验4&#xff1a;读取Landsat影像 目的&#xff1a;了解Landsat影像读取方法&#xff0c;熟悉各波段及组合 过程&#xff1a; Landsat7影像&#xff1a; ①单波段影像加载&#xff1a;打开ENVI软件&#xff0c;点击文件&#xff0c;从文件打开准备好的L7数据&#xff0c;发…

MybatisPlus 学习笔记

1 . 快速入门 1 . 1 环境准备 导入数据库 导入基础项目 : 1.2.快速开始 比如我们要实现User表的CRUD&#xff0c;只需要下面几步&#xff1a; 引入MybatisPlus依赖 定义Mapper 1.2.1引入依赖 MybatisPlus提供了starter&#xff0c;实现了自动Mybatis以及MybatisPlus的自…

Axure原型设计项目效果 全国职业院校技能大赛物联网应用开发赛项项目原型设计题目

目录 前言 一、2022年任务书3效果图 二、2022年任务书5效果图 三、2022年国赛正式赛卷 四、2023年国赛第一套样题 五、2023年国赛第二套样题 六、2023年国赛第三套样题 七、2023年国赛第四套样题 八、2023年国赛第七套样题 九、2023年国赛正式赛题&#xff08;第八套…

python单例模式应用之pymongo连接

文章目录 单例模式介绍模块简介安装简单的连接使用单例模式的连接单例类的实现配置的使用单例模式的测试 单例连接的调用 https://gitee.com/allen-huang/python 单例模式介绍 适用场景&#xff1a; 单例模式只允许创建一个对象&#xff0c;因此节省内存&#xff0c;加快对象访…

第二十二周周报

论文研读&#xff1a;Camera Distance-aware Top-down Approach for 3D Multi-person Pose Estimation from a Single RGB Image 粗读10篇文献。 通过图2 我可以知道这个论文大概实现的这个姿态估计效果的方法&#xff0c;首先是把图片输入到DetectNet网络&#xff0c;该网络…

面具安装LSP模块时提示 Unzip error错误的解决办法

面具(Magisk Delta)安装LSP模块时提示 Unzip error错误的解决办法 ​​ 如果前面的配置都正常的话&#xff0c;可能是LSP版本有问题重新去Github下载一个最新版的吧&#xff1b;我是这么解决的。 我安装1.91那个版本的LSP就是死活安装不上&#xff0c;下载了1.92的版本一次就…

OpenGrok代码服务器搭建,解决代码检索慢的问题

一、背景 在前一家公司&#xff0c;公司提供了OpenGrok服务器供大家检索查阅代码。但在新公司&#xff0c;大家都使用vscode或Sourse Insight&#xff0c;这就存在一些问题&#xff1a; 不能跳转或者跳转比较慢。 搜索查询速度慢&#xff0c;且结果展示不易查看。 这严重影…

给 spyter/all-spark-notebook 添加scala支持

spyter/all-spark-notebook默认没有安装scala notebook&#xff0c;需要手动添加。 你可以创建一个新的 Dockerfile&#xff0c;在其中添加你需要的配置和组件。以下是一个简单的例子&#xff1a; FROM jupyter/all-spark-notebook:x86_64-ubuntu-22.04 #冒号后可以是latest&a…

OpenHarmony教程指南-性能示例

介绍 本示例集成了条件渲染、动态加载以及HiDumper等场景来介绍如何提升应用性能。 效果预览 HiDumper使用说明&#xff1a; 1.点击性能示例主页的HiDumper按钮&#xff0c;进入HiDumper查看组件信息场景页。 1.点击HiDumper查看组件信息场景页的查看应用组件树进入场景页。…

10个高级的 SQL 查询技巧

1.常见表表达式&#xff08;CTEs&#xff09; 如果您想要查询子查询&#xff0c;那就是CTEs施展身手的时候 - CTEs基本上创建了一个临时表。 使用常用表表达式&#xff08;CTEs&#xff09;是模块化和分解代码的好方法&#xff0c;与您将文章分解为几个段落的方式相同。 请在…

YOLOv8原创二次改进DCNv3结构:即插即用|使用纯pytorch代码实现,不需要CUDA编译,并针对YOLOv8专门优化模块,基于可变形卷积的超强变种

💡本篇内容:YOLOv8原创改进DCNv3结构:即插即用|使用纯pytorch代码实现,不需要CUDA编译,并针对YOLOv8专门优化模块,基于可变形卷积的超强变种,优势:不需要编译! 💡附改进源代码及教程,用来改进🚀 DCNv3可变形网络结构 VisDrone有效涨点 关键词:DCNv3网络改进…

Linux智能网关结合Node-RED实现实时工业数据采集

工业4.0的发展&#xff0c;物联网技术在制造业中的应用越来越广泛。其中&#xff0c;基于Linux系统的工业物联网智能网关因其开放性、稳定性和安全性而备受青睐。这类智能网关创新性地集成了开源工具Node-RED&#xff0c;为从各种工业设备&#xff08;如PLC&#xff09;中高效收…