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题解(十九)相关推荐

  1. leetcode题解(十)--种花问题

    假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去. 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花 ...

  2. CSDN 编程竞赛十九期题解

    竞赛总览 CSDN 编程竞赛十九期:比赛详情 (csdn.net) 竞赛题解 题目1.幼稚班作业 幼稚园终于又有新的作业了.老师安排同学用发给同学的4根木棒拼接成一个三角形.当然按照正常的逻辑,如果不 ...

  3. CSDN 编程竞赛二十九期题解

    竞赛总览 CSDN 编程竞赛二十九期:比赛详情 (csdn.net) 竞赛题解 题目1.订班服 小A班级订班服了!可是小A是个小糊涂鬼,整错了好多人的衣服的大小.小A只能自己掏钱包来补钱了.小A想知道 ...

  4. 左耳听风 第四十九周

    左耳听风 第四十九周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

  5. 【Elasticsearch】十九种Elasticsearch字符串搜索方式

    1.概述 十九种Elasticsearch字符串搜索方式 刚开始接触Elasticsearch的时候被Elasticsearch的搜索功能搞得晕头转向,每次想在Kibana里面查询某个字段的时候,查出 ...

  6. 左耳听风 第二十九周

    左耳听风 第二十九周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

  7. 2021年大数据Hadoop(二十九):​​​​​​​关于YARN常用参数设置

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 关于yarn常用参数设置 设置container分配最小内 ...

  8. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...

  9. 第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器

    第十九章--使用资源调控器管理资源(2)--使用T-SQL配置资源调控器 原文: 第十九章--使用资源调控器管理资源(2)--使用T-SQL配置资源调控器 前言: 在前一章已经演示了如何使用SSMS来 ...

  10. bmp文件头_「正点原子FPGA连载」第十九章SD卡读BMP图片LCD显示

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

最新文章

  1. 你需要知道的高性能并发框架Disruptor原理
  2. Facebook新推出AL语言,意在简化程序静态分析
  3. photoshop中把图片颜色变成透明
  4. C语言字符串拼接函数:strcat()
  5. linux生成免密码登录
  6. STM32F103ZET6 点灯的三种操作方式(库函数、寄存器、位操作)
  7. mysql相交_MySQL相交
  8. [Spring5]IOC容器_Bean管理_bean的作用域和bean的生命周期
  9. 登录python自动化_Appium+Python实现自动化登录
  10. 40张图全面解析TCP 三次握手和四次挥手
  11. mysql的jar包文件在哪找_数据库的jar在哪找
  12. php 提取二维数组的key,PHP 获取二维数组中某个key的集合
  13. 算法基础:BFS和DFS的直观解释
  14. php职业性格测试,三个职业测试方法,助你选择适合你的工作(附测试链接)
  15. latex表格内容上下居中_Latex-表格内容垂直居中
  16. 用于AB测试的减少方差方法总结和对比
  17. Learning optical flow from still images
  18. 数据库基础、使用C语言构建一个数据库、SQL语言、MySQL
  19. c语言闹钟程序教学,C++实现闹钟程序的方法
  20. 阿童木机器人完成数千万元B1轮融资,雅瑞资本领投

热门文章

  1. centos 32 mysql_CentOS 6.8 32位 安装mysql8
  2. Tensor Flow V2:将Tensor Flow H5模型文件转换为tflite
  3. Cmake构建_指定gcc/g++版本
  4. AT2164 AGC006C Rabbit Exercise
  5. 爬虫实践-微博关键词搜索抓取
  6. node + express + sockio 在线聊天室
  7. Android开发之使用GridView+仿微信图片上传功能(附源代码)
  8. android studio sqlite操作代码片段
  9. 请教 indy 中的 tldUdpServer 如何实现对本地端口6100进行监听!
  10. 官方实力榜:绿军居首黄蜂第二 火箭小降雄鹿飙升