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题解(十九)的更多相关文章

  1. Leetcode题解(九)

    28.Implement strStr()-------KMP算法(*) 题目 这道题目其实就是实现KMP算法,并且该算法也是比较经典的算法,需要很好的掌握: 贴上几个介绍字符串匹配的算法说明链接 h ...

  2. LeetCode第十九题-链表节点的删除

    Remove Nth Node From End of List 问题简介;给定链表,从链表末尾删除第n个节点并返回其头部 例: 给定链表:1-> 2-> 3-> 4-> 5, ...

  3. COJ 0981 WZJ的数据结构(负十九)树综合

    WZJ的数据结构(负十九) 难度级别:E: 运行时间限制:3500ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 WZJ的数据结构中有很多都是关于树的.这让很多练习 ...

  4. 「kuangbin带你飞」专题十九 矩阵

    layout: post title: 「kuangbin带你飞」专题十九 矩阵 author: "luowentaoaa" catalog: true tags: mathjax ...

  5. 无废话ExtJs 入门教程十九[API的使用]

    无废话ExtJs 入门教程十九[API的使用] extjs技术交流,欢迎加群(201926085) 首先解释什么是 API 来自百度百科的官方解释:API(Application Programmin ...

  6. Python之路【第十九章】:Django进阶

    Django路由规则 1.基于正则的URL 在templates目录下创建index.html.detail.html文件 <!DOCTYPE html> <html lang=&q ...

  7. Bootstrap <基础二十九>面板(Panels)

    Bootstrap 面板(Panels).面板组件用于把 DOM 组件插入到一个盒子中.创建一个基本的面板,只需要向 <div> 元素添加 class .panel 和 class .pa ...

  8. Bootstrap <基础十九>分页

    Bootstrap 支持的分页特性.分页(Pagination),是一种无序列表,Bootstrap 像处理其他界面元素一样处理分页. 分页(Pagination) 下表列出了 Bootstrap 提 ...

  9. Web 开发人员和设计师必读文章推荐【系列二十九】

    <Web 前端开发精华文章推荐>2014年第8期(总第29期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

  10. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十九】

    <Web 前端开发精华文章推荐>2013年第七期(总第十九期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 C ...

随机推荐

  1. scoke摘要

      登录|注册     关闭 永不磨灭的意志 /* ----------------500G的电影拷到了U盘上,U盘的重量会不会增加?----------------------*/       目录 ...

  2. JavaScript new Boolean(false) 其实是true

    Boolean类型是JavaScript原始数据类型(primitive type)之一:常用来表示 真或假,是或否:这个类型只有两个值:保留字true和false 一般用于控制语句:如下 if(Bo ...

  3. MyCAT-EYE开源

    MyCAT EYE MySQL数据库监控工具,实现了对MySQL节点的管理和监控,可供开发人员和DBA使用.后续版本将整合MyCAT2.0的管理和配置. 演示地址: 开发人员视图:http://120 ...

  4. 在JavaScript中使用json.js:使得js数组转为JSON编码

    在json的官网中下载json.js,然后在script中引入,以使用json.js提供的两个关键方法. 1.数组对象.toJSONString() 这个方法将返回一个JSON编码格式的字符串,用来表 ...

  5. hdu 5937 -- Equation(搜索)

    题目链接 problem description Little Ruins is a studious boy, recently he learned addition operation! He ...

  6. 关于JetBrains CLion 激活 (CLion License Activation)的解决办法,带hosts详细修改

    CLion版本号:JetBrains CLion 2017.2.1 第一行选择Activite,第二行Activate license with:选择Activation code. 这个时候里面的代 ...

  7. SpringMVC的一点理解

    1.MVC(Model-View-Controller) 用慕课网上的一个图来看看MVC Front Controller(前端控制器):把客户的请求分发给不同的控制器去生成业务数据,将生成的业务数据 ...

  8. jP61 2.15

    import java.util.Scanner; public class Distance { public static void main(String[] args) {    Scanne ...

  9. js生成json数据

    <script src="~/static/js/jquery.min.js"></script><script type="text/ja ...

  10. 在SQLSERVER中创建DBLINK,操作远程服务器数据库

    --配置SQLSERVER数据库的DBLINK exec sp_addlinkedserver @server='WAS_SMS',@srvproduct='',@provider='SQLOLEDB ...