Leetcode题解(十九)
54、Spiral Matrix
题目:

题目意思很简单,就是螺旋式访问矩阵元素。也没有比较经典的算法可以解决此题,只需要模拟一下这个过程即可。
代码如下:
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
vector<int> res;
if(matrix.empty())
return res;
int m = matrix.size();
int n = matrix[].size();
int i,j;
bool **arr = new bool*[m];
for(i=;i<m;i++)
{
arr[i] = new bool[n];
memset(arr[i],,sizeof(bool));
}
int flag=;//0表示向右,1表示向下,2表示向左,3表示向上
int count = ;
i=;
j=;
while(true)
{
res.push_back(matrix[i][j]);
arr[i][j] = true;
count++;
if(count == m*n)
break;
if( == flag)
{
j++;
}
else if( == flag)
i++;
else if( == flag)
j--;
else
i--;
if(i< || i>=m || j< || j>=n || arr[i][j])//越界了或者访问到已经被访问过的元素
{
if(i<)
i=;
if(j<)
j=;
if(i>=m)
i=m-;
if(j>=n)
j=n-;
if(arr[i][j])
{
if( == flag)
j--;
else if( == flag)
i--;
else if( == flag)
j++;
else
i++;
}
flag = (flag + )%;
res.pop_back();
count--;
}
}
return res;
}
};
-----------------------------------------------------------------------分割线-----------------------------------------------------------------------
55、Jump Game
题目:

分析:针对数组中每一个元素,计算其最大能跳多远,并将这个最远值记录好。
代码如下:
class Solution {
public:
bool canJump(vector<int>& nums) {
const int size = nums.size();
int index = ;
int max = ;
for(;index<=size--;index++)//注意等号,
{
if(index + nums[index] > max)
max = index + nums[index];
if(index >= max)//针对用例[0,1,2]
return false;
}
if(max >= size-)
return true;
else
return false;
}
};
-------------------------------------------------------------------------------分割线-------------------------------------------------------------------
58、Length of Last Word
题目

题目很简单,直接贴代码
class Solution {
public:
int lengthOfLastWord(const char *s) {
int len=strlen(s);
int sum=;
while(s[len-]==' ') len--;
for(int i=len-;i>=;i--)
{
if(s[i]!=' ') sum++;
else break;
}
return sum;
}
};
Leetcode题解(十九)的更多相关文章
- Leetcode题解(九)
28.Implement strStr()-------KMP算法(*) 题目 这道题目其实就是实现KMP算法,并且该算法也是比较经典的算法,需要很好的掌握: 贴上几个介绍字符串匹配的算法说明链接 h ...
- LeetCode第十九题-链表节点的删除
Remove Nth Node From End of List 问题简介;给定链表,从链表末尾删除第n个节点并返回其头部 例: 给定链表:1-> 2-> 3-> 4-> 5, ...
- COJ 0981 WZJ的数据结构(负十九)树综合
WZJ的数据结构(负十九) 难度级别:E: 运行时间限制:3500ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 WZJ的数据结构中有很多都是关于树的.这让很多练习 ...
- 「kuangbin带你飞」专题十九 矩阵
layout: post title: 「kuangbin带你飞」专题十九 矩阵 author: "luowentaoaa" catalog: true tags: mathjax ...
- 无废话ExtJs 入门教程十九[API的使用]
无废话ExtJs 入门教程十九[API的使用] extjs技术交流,欢迎加群(201926085) 首先解释什么是 API 来自百度百科的官方解释:API(Application Programmin ...
- Python之路【第十九章】:Django进阶
Django路由规则 1.基于正则的URL 在templates目录下创建index.html.detail.html文件 <!DOCTYPE html> <html lang=&q ...
- Bootstrap <基础二十九>面板(Panels)
Bootstrap 面板(Panels).面板组件用于把 DOM 组件插入到一个盒子中.创建一个基本的面板,只需要向 <div> 元素添加 class .panel 和 class .pa ...
- Bootstrap <基础十九>分页
Bootstrap 支持的分页特性.分页(Pagination),是一种无序列表,Bootstrap 像处理其他界面元素一样处理分页. 分页(Pagination) 下表列出了 Bootstrap 提 ...
- Web 开发人员和设计师必读文章推荐【系列二十九】
<Web 前端开发精华文章推荐>2014年第8期(总第29期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十九】
<Web 前端开发精华文章推荐>2013年第七期(总第十九期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 C ...
随机推荐
- 非position:fixed,footer自動調到屏幕底部
一.980px手機端寫法: $(function(){ var sh=$('section').height(); var ww=$(window).width(); ...
- RabbitMQ消息队列之一:RabbitMQ的环境安装及配置
RabbitMQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们 ...
- 策略模式Strategy
定义一系列的算法,把他们封装起来,使得算法独立于适用对象. 比如,一个系统有很多的排序算法,但是使用哪个排序算法是客户对象的自有.因此把每一个排序当做一个策略对象,客户调用哪个对象,就使用对应的策略方 ...
- 实例讲解webpack的基本使用第四篇
这一篇来讲解一下webpack的loader的使用,用webpack打包文件,css,img,icon等都需要下载安装对应的loader文件,并且写好配置项,才可以进行打包,废话不多说,直接开始实战. ...
- django之快速分页
本文介绍djanog两种分页,第一是普通分页,第二是使用haystack全文检索的分页. 1.django自带分页功能,这个功能非常好用.基本知识点:Django提供了数据分页的类,这些类被定义在dj ...
- Linux入门之常用命令(4)vi编辑器
vi分为三种模式 一般模式:删除字符.删除整行.复制粘贴等操作 编辑模式:i o a r进入 输入字符 Esc退出 命令行模式::或/ 将光标移动到最末行 搜寻数据 读取或替换 退出vi 显示行号 ...
- 1297. Palindrome ural1297(后缀数组)
1297. Palindrome Time limit: 1.0 secondMemory limit: 64 MB The “U.S. Robots” HQ has just received a ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)ABCD
A. Arpa and a research in Mexican wave time limit per test 1 second memory limit per test 256 megaby ...
- 自测-4 Have Fun with Numbers
Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, wit ...
- Python in/not in --- if not/if + for...[if]...构建List+ python的else子句
区分几个容易出错的地方: in 成员运算符 - 如果字符串中包含给定的字符返回 True >>>"H" in a True not in 成员运算符 - 如果字符 ...