9.20(54. 螺旋矩阵 71. 简化路径)

2024-03-30 01:32

本文主要是介绍9.20(54. 螺旋矩阵 71. 简化路径),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

54. 螺旋矩阵

本题比较简单,详情见代码

程序代码:(完整版)
#include <iostream>
#include<vector>
#include<algorithm>
#include<string>
//54.螺旋矩阵
using namespace std;class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> result;//结果都存放在这里面int m = matrix.size();if(m==0) return result;//就返回空的int n = matrix[0].size();	int i1 = 0, i2 = m - 1, j1 = 0, j2 = n - 1;//这个标志了四个边界while (i1<i2&&j1<j2) {int j = j1;while (j < j2) { result.push_back(matrix[i1][j]); j++; }int i = i1;while (i < i2) { result.push_back(matrix[i][j2]); i++; }j = j2;//初始化数值while (j > j1) { result.push_back(matrix[i2][j]); j--; }i = i2;while (i > i1) { result.push_back(matrix[i][j1]); i--; }i1++, j1++, i2--, j2--;//向中心靠近}if (i1 == i2) {int j = j1;while (j <= j2) { result.push_back(matrix[i1][j]); j++; }}else if (j1 == j2) {int i = i1;while (i <= i2) { result.push_back(matrix[i][j1]); i++; }}else if(i1 == i2&& j1 == j2)result.push_back(matrix[i1][j1]);return result;}
};int main()
{Solution bb;int m,n;cin >> m >> n;vector<vector<int>> matrix;for (int i = 0; i < m; i++) {vector<int> vec;for (int j = 0; j < n; j++) {int tmp;cin >> tmp;vec.push_back(tmp);}matrix.push_back(vec);}vector<int> result = bb.spiralOrder(matrix);for (int e : result) {cout<<e<<" ";}return 0;
}

测试时出现了一个错误,就是没有针对空集的特殊处理。
加上就可以了。

71. 简化路径

本题运行不成功,不知道为什么,感觉题目中的错误例子举的也不好

程序代码:
#include <iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<stack>//引入数据结构堆栈
//71、这个题目是一个次序解决的问题
using namespace std;class Solution {
public:string simplifyPath(string path) {int i = 0;//控制字符串长度的变量stack<int> stack;string result = "";if (path == "/..")return result;while (i<path.size()) {if (stack.size() == 0) stack.push(path[i++]);else if (path[i] == '/'&&stack.top() == '/') i++;else if (path[i] != '.'&&stack.top() == '.') {while (stack.top() != '/')stack.pop();stack.pop();//最后还要将本身的那个‘/’pop出去}else if (path[i] == '.'&&stack.top() == '.') {i++;int count = 0;while (1) {if (stack.top() == '/') count++;stack.pop();if (count == 2||stack.size()==0)break;}}else stack.push(path[i++]);}if (stack.size()!=1&&stack.top() == '/') stack.pop();int n = stack.size();//堆栈的尺寸while (stack.size() != 0) {result.insert(result.begin(),stack.top());//可以插入字符,表示在最前面插入字符stack.pop();}return result;}
};int main()
{Solution bb;string path;cin >> path;string result = bb.simplifyPath(path);cout<<result<<endl;return 0;
}

样例通过率是226/252。我也不知道是为啥了,给出来的反例都很奇怪

参考程序链接:
https://blog.csdn.net/qq_17550379/article/details/80802176

这篇关于9.20(54. 螺旋矩阵 71. 简化路径)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/860171

相关文章

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re