剑指offer计划25(模拟中等)—java

1.1、题目1

剑指 Offer 29. 顺时针打印矩阵

1.2、解法

常规开头,先判断特殊情况,然后创建四个变量存放矩阵四边的长度限制。
创建res数组存放结果。
循坏开始,遍历完一行或者一列,就将该行从矩阵的范围内删除,
最终判断左边是否大于右边,上边是否大于下边来判断循环是否应该结束。

1.3、代码

class Solution {
    public int[] spiralOrder(int[][] matrix) {
        if (matrix.length==0) return new int[0];
        int l = 0, r=matrix[0].length-1,t=0,b=matrix.length-1,x=0;
        int []res = new int[(r+1)*(b+1)];
        while(true){
            for(int i=l;ib) break;
            for(int i=t;i=l;i--) res[x++]=matrix[b][i];
            if(--b=t;i--) res[x++]=matrix[i][l];
            if(++l>r) break;
        }
        return res;
    }
}

2.1、题目2

剑指 Offer 31. 栈的压入、弹出序列

2.2、解法

这题我还以为要用什么数学方法,结果发现用一个栈来实现这个操作就行了。
遍历pushed数组,每个数都判断是否为pop的数组里的当前元素。是的话就推出,并且pop数组的索引+1
最终判断栈里是否为空则可知道顺序是否正确。

2.3、代码

class Solution {
    public boolean validateStackSequences(int[] pushed, int[] popped) {
        Stack stack = new Stack();
        int x=0;
        for(int i:pushed){
            stack.push(i);
            while(!stack.isEmpty() &&stack.peek()==popped[x]  ) {
                stack.pop();
                x++;
            }
        }
        return stack.isEmpty();
    }
}

Original: https://www.cnblogs.com/cxykhaos/p/15334200.html
Author: 程序员khaos
Title: 剑指offer计划25(模拟中等)—java

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/714704/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 钉钉的sonar集成通知

    钉钉(dingding)的sonar(代码质量管理工具的)集成通知,非常简单的一个小开源工具。 代码地址: https://gitee.com/chejiangyi/dingdin…

    技术杂谈 2023年7月23日
    063
  • 应用程序现代化权威指南

    什么是应用程序现代化 简单来说,软件现代化、老旧系统现代化或老旧应用现代化都是指替换或升级旧软件的过程。根据系统的情况和公司的情况,对软件进行现代化改造的方案从轻微修改到完全更换都…

    技术杂谈 2023年6月21日
    089
  • fatal error C1859 意外的预编译头错误,只需重新运行编译器(转)

    微软的建议 要解决此问题,请使用下列方法之一。 http://support.microsoft.com/kb/976656/zh-cn 方法 1 禁用 /analyze编译器选项…

    技术杂谈 2023年5月30日
    090
  • shopify下单让客户输入自定义内容

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/ytkah/p/15769928.htmlAuthor:…

    技术杂谈 2023年5月31日
    075
  • 方法是什么

    什么是方法? System.out.println(),这是方法,输出语句的方法 这句语句就是调用系统System类中的标准输出对象out中的println()方法。 (类+对象+…

    技术杂谈 2023年6月21日
    0127
  • node glob 文件查找

    glob https://www.npmjs.com/package/glob Original: https://www.cnblogs.com/mengfangui/p/158…

    技术杂谈 2023年5月31日
    079
  • Docker概述(一)

    Docker概述(一) 顺便介绍下:我们是一家致力于智能语音交互的AI公司,我们提供了语音识别、语音合成、声纹识别、声音复刻、声音转换等技术产品供小伙伴们测试调用,感兴趣的,第三部…

    技术杂谈 2023年7月24日
    0102
  • 问题开发

    1.路由协议 2.snmpv2 v3 发展异同 ?原因 解决什么问题 Original: https://www.cnblogs.com/hshy/p/16539009.htmlA…

    技术杂谈 2023年5月31日
    0120
  • 根据树节点快速建立标签

    Notepad++快捷键:Ctrl+E 测试效果 ui>view>container>subViews 控制面板 ui>view>container&…

    技术杂谈 2023年6月1日
    083
  • 硬核剖析Redis单线程为什么那么快?

    Redis目前是使用率最高的内存库数据库,是企业应用开发的必备,它极高的性能和丰富的数据结构为我们的开发提供了极大的便利。它每秒可以承受10W+的QPS,但却是单线程的处理模型,为…

    技术杂谈 2023年7月25日
    099
  • Optional用法与争议点

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 要说Java中什么异常最容易出现,我想NullPointerException一定当仁不让,为…

    技术杂谈 2023年7月25日
    076
  • QT布局管理器

    QT主要布局管理器分类 QHBoxLayout(水平布局) 把子窗口从左到右排列在一个水平行上。 运行结果: QVBoxLayout(垂直布局) 把子窗口从上到下排列在一个垂直列上…

    技术杂谈 2023年6月1日
    087
  • P7328 「MCOI-07」Dream and Machine Learning

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年6月21日
    097
  • WIN10平板 如何关闭自动更新

    找到Windows Update,设置启动类型为禁用即可 本文为博主原创文章,未经博主允许不得转载。 Original: https://www.cnblogs.com/aceta…

    技术杂谈 2023年5月31日
    0128
  • DirBuster使用介绍

    最近在做和华为合作的项目,由于华为对安全层面要求比较高,要求对敏感接口进行遍历,查看业务系统是否存在对外开放的敏感接口或者对接口进行权限控制,以及对目录列表进行测试确保所有的目录访…

    技术杂谈 2023年5月31日
    0106
  • Git 不识别文件名字母大小写变化

    问题 今天为一个项目撰写持续构建计划,撰写 Jenkinsfile 之后进行构建时报错: [2022-05-23 16:54:21] unable to prepare conte…

    技术杂谈 2023年7月11日
    065
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球