Leetcode题解(十九)
54、Spiral Matrix
题目:
题目意思很简单,就是螺旋式访问矩阵元素。也没有比较经典的算法可以解决此题,只需要模拟一下这个过程即可。
代码如下:
1 class Solution { 2 public: 3 vector<int> spiralOrder(vector<vector<int>>& matrix) { 4 vector<int> res; 5 if(matrix.empty()) 6 return res; 7 int m = matrix.size(); 8 int n = matrix[0].size(); 9 10 11 int i,j; 12 13 bool **arr = new bool*[m]; 14 for(i=0;i<m;i++) 15 { 16 arr[i] = new bool[n]; 17 memset(arr[i],0,sizeof(bool)); 18 } 19 20 int flag=0;//0表示向右,1表示向下,2表示向左,3表示向上 21 22 int count = 0; 23 i=0; 24 j=0; 25 while(true) 26 { 27 res.push_back(matrix[i][j]); 28 arr[i][j] = true; 29 count++; 30 if(count == m*n) 31 break; 32 33 34 if(0 == flag) 35 { 36 j++; 37 } 38 else if(1 == flag) 39 i++; 40 else if(2 == flag) 41 j--; 42 else 43 i--; 44 45 if(i<0 || i>=m || j<0 || j>=n || arr[i][j])//越界了或者访问到已经被访问过的元素 46 { 47 48 if(i<0) 49 i=0; 50 if(j<0) 51 j=0; 52 if(i>=m) 53 i=m-1; 54 if(j>=n) 55 j=n-1; 56 if(arr[i][j]) 57 { 58 if(0 == flag) 59 j--; 60 61 else if(1 == flag) 62 i--; 63 else if(2 == flag) 64 j++; 65 else 66 i++; 67 } 68 69 flag = (flag + 1)%4; 70 res.pop_back(); 71 count--; 72 } 73 74 } 75 return res; 76 77 } 78 };
-----------------------------------------------------------------------分割线-----------------------------------------------------------------------
55、Jump Game
题目:
分析:针对数组中每一个元素,计算其最大能跳多远,并将这个最远值记录好。
代码如下:
1 class Solution { 2 public: 3 bool canJump(vector<int>& nums) { 4 const int size = nums.size(); 5 int index = 0; 6 int max = 0; 7 for(;index<=size-1-1;index++)//注意等号, 8 { 9 if(index + nums[index] > max) 10 max = index + nums[index]; 11 if(index >= max)//针对用例[0,1,2] 12 return false; 13 } 14 if(max >= size-1) 15 return true; 16 else 17 return false; 18 } 19 };
-------------------------------------------------------------------------------分割线-------------------------------------------------------------------
58、Length of Last Word
题目
题目很简单,直接贴代码
1 class Solution { 2 public: 3 int lengthOfLastWord(const char *s) { 4 int len=strlen(s); 5 int sum=0; 6 while(s[len-1]==' ') len--; 7 for(int i=len-1;i>=0;i--) 8 { 9 if(s[i]!=' ') sum++; 10 else break; 11 } 12 return sum; 13 } 14 };
转载于:https://www.cnblogs.com/LCCRNblog/p/5171108.html
Leetcode题解(十九)相关推荐
- leetcode题解(十)--种花问题
假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去. 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花 ...
- CSDN 编程竞赛十九期题解
竞赛总览 CSDN 编程竞赛十九期:比赛详情 (csdn.net) 竞赛题解 题目1.幼稚班作业 幼稚园终于又有新的作业了.老师安排同学用发给同学的4根木棒拼接成一个三角形.当然按照正常的逻辑,如果不 ...
- CSDN 编程竞赛二十九期题解
竞赛总览 CSDN 编程竞赛二十九期:比赛详情 (csdn.net) 竞赛题解 题目1.订班服 小A班级订班服了!可是小A是个小糊涂鬼,整错了好多人的衣服的大小.小A只能自己掏钱包来补钱了.小A想知道 ...
- 左耳听风 第四十九周
左耳听风 第四十九周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...
- 【Elasticsearch】十九种Elasticsearch字符串搜索方式
1.概述 十九种Elasticsearch字符串搜索方式 刚开始接触Elasticsearch的时候被Elasticsearch的搜索功能搞得晕头转向,每次想在Kibana里面查询某个字段的时候,查出 ...
- 左耳听风 第二十九周
左耳听风 第二十九周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...
- 2021年大数据Hadoop(二十九):关于YARN常用参数设置
全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 关于yarn常用参数设置 设置container分配最小内 ...
- python第二十九课——文件读写(复制文件)
自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...
- 第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器
第十九章--使用资源调控器管理资源(2)--使用T-SQL配置资源调控器 原文: 第十九章--使用资源调控器管理资源(2)--使用T-SQL配置资源调控器 前言: 在前一章已经演示了如何使用SSMS来 ...
- bmp文件头_「正点原子FPGA连载」第十九章SD卡读BMP图片LCD显示
1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...
最新文章
- 你需要知道的高性能并发框架Disruptor原理
- Facebook新推出AL语言,意在简化程序静态分析
- photoshop中把图片颜色变成透明
- C语言字符串拼接函数:strcat()
- linux生成免密码登录
- STM32F103ZET6 点灯的三种操作方式(库函数、寄存器、位操作)
- mysql相交_MySQL相交
- [Spring5]IOC容器_Bean管理_bean的作用域和bean的生命周期
- 登录python自动化_Appium+Python实现自动化登录
- 40张图全面解析TCP 三次握手和四次挥手
- mysql的jar包文件在哪找_数据库的jar在哪找
- php 提取二维数组的key,PHP 获取二维数组中某个key的集合
- 算法基础:BFS和DFS的直观解释
- php职业性格测试,三个职业测试方法,助你选择适合你的工作(附测试链接)
- latex表格内容上下居中_Latex-表格内容垂直居中
- 用于AB测试的减少方差方法总结和对比
- Learning optical flow from still images
- 数据库基础、使用C语言构建一个数据库、SQL语言、MySQL
- c语言闹钟程序教学,C++实现闹钟程序的方法
- 阿童木机器人完成数千万元B1轮融资,雅瑞资本领投
热门文章
- centos 32 mysql_CentOS 6.8 32位 安装mysql8
- Tensor Flow V2:将Tensor Flow H5模型文件转换为tflite
- Cmake构建_指定gcc/g++版本
- AT2164 AGC006C Rabbit Exercise
- 爬虫实践-微博关键词搜索抓取
- node + express + sockio 在线聊天室
- Android开发之使用GridView+仿微信图片上传功能(附源代码)
- android studio sqlite操作代码片段
- 请教 indy 中的 tldUdpServer 如何实现对本地端口6100进行监听!
- 官方实力榜:绿军居首黄蜂第二 火箭小降雄鹿飙升