复习时使用
study_**
准备找工作的搬砖工,找工作的方向是java后端开发,私人的博客地址:itxingzai.xyz
展开
-
笔试题目(字符串处理、求点到面的距离)
题目一描述给定一个字符串,该字符串的组成为数组或者数字,求数组的层数。例如:给定[4,[2,5],[3,6,[8,9]]]该字符串返回的结果为3题目一分析对于字符串可以有很多办法,自己选择的是对字符串中的‘[’和‘]’进行处理,使用一个栈记录出现字符’[’,记录栈的大小,当栈中元素变大时替换掉记录的数值。题目中:先将当前的字符拆分,如果是’[‘就入栈并记录栈的大小和更新记录值,如果是’]'就弹出栈,因此能够记录数组的深度即层数。代码如下import java.io.BufferedR原创 2020-11-08 16:07:16 · 194 阅读 · 0 评论 -
Java岗位笔试笔记
心得秋招已经过了一半了,部分公司已经结束,其实今年七月份就已经开始秋招了,因此对于秋招的准备还是有一些完,八月底才做好简历,九月份一边修改一边投递,还要一边准备考试的东西,有点紧张了,其实有点累了(不想努力了。。。)笔试的分类(Java开发岗位)第一种互联网大公司的题目一般是没有选择题,只有两道算法题目,因此就算是后端开发也应该学习算法,这种算法题目一般为leetcode题目中困难的那一部分,也许更难。第二种游戏公司一般招聘的java岗位是服务器端的开发,除了有一些关于网络、操作系统、linux原创 2020-10-10 11:43:39 · 253 阅读 · 0 评论 -
记录0916和0917两天的笔试
0916题目一打印斐波那契数列描述:输入一个整数n,输出是一个斐波那契数列的一个三角形11,1,11,1,2,1,11,1,2,3,2,1,11,1,2,3,5,3,2,1,1感觉自己的程序还是有点乱代码如下public static void print(TreeNode root) { System.out.print(root.val + ","); if (root.left != null) print(root.left); if (root.righ原创 2020-09-17 21:34:11 · 112 阅读 · 0 评论 -
leetcode刷题之回溯算法
前言由于之前的一道回溯算法题目没做出来,最近一段时间专门练习回溯算法的题目,程序写的多了就有感觉知道哪里有问题,算法练习还是集中的专项练习为好。组合总和题目一描述给定一个不重复元素的数组和一个目标值target,找出数组中能够组合成目标值的子集合,注意数组元素可以重复使用。例如:candidates = [2,3,6,7] target = 7返回值:[[7],[2,2,3]]题目传送题目一分析构建一颗树来表示,以target为根节点以数组元素为边做减法操作,叶子节点为0的一条原创 2020-09-10 09:58:35 · 332 阅读 · 1 评论 -
Leetcode刷题(k个一组翻转链表、字节跳动往年的真题)
k个一组翻转链表题目一描述给定一个链表,将链表中的k个元素进行翻转,最后不满足k个元素的整数倍的元素,不进行翻转。例如:输入:1->2->3->4->5k=2时: 返回2->1->4->3->5k=3时:返回3->2->1->4->5题目传送题目一分析该题目是一道困难的题目,但是对于链表这种数据结构的题目一般都不是特别难。可以使用一个指针窗口进行翻转窗口内的所有节点,但是这样的做题需要多个指针,比较乱。我使用额原创 2020-09-08 21:02:35 · 193 阅读 · 0 评论 -
LeetCode刷题(最多水的容器、链表问题)
题目一 盛最多水的容器题目描述给一个非负整数a1…an,每一个数代表坐标中的一个点(i,ai),在坐标内画n条垂直线,垂直线的两端分别为(i,ai)(i,0),找出其中的两条线,使得该线与x轴构成的容器有更多的水。例如 [1,8,6,2,5,4,8,3,7]输出:49题目分析作为算法新手,我总是想着使用之前学过的算法接问题,因为之前在左神的算法课中听过一个单调栈结构,该数据结构的具体使用,维护一个容器(可以使栈也可以是队列),遍历数组,将当前大于栈顶的元素地址加入栈中,如果不大于就对其原创 2020-09-06 09:05:51 · 124 阅读 · 0 评论 -
Leetcode刷题之(机器人、链表、括号生成)
简单记录一下最近的状态,最近一直做着与工作相关的一些事情,每天学习,不会就学呗,没有什么是学不会的,踏踏实实的努力就好了。个人的技术方向做一个Java的后端开发,随后想着做大数据分析或者做一些3D的游戏,自己也是在慢慢的摸索着,个人的联系方式itxingzai@163.com,希望有相同兴趣的可以一起交流,做一个安分的技术人,好了,看看今天的算法题目吧。题目一 机器人能否回到起点题目一描述在一个二维的平面上,有一个机器人从原点(0,0)处开始移动,判断该机器人是否在移动结束后会回到原点。机器人有四个原创 2020-08-28 22:35:58 · 228 阅读 · 0 评论 -
牛客网刷题之数组(二分法、BFPRT算法)
前言最近大家都如火如荼的找工作,我也正在尝试,21年的招聘会看起来不是那么的友好,自己学的Java程序不知道会不会找到心仪的工作,今天七夕在这里许个愿,求个好一些公司的面试机会和offer。学算法,学系统设计, 学更多的技术,提升自身的核心竞争力,个人的博客: https://itxingzai.xyz/,一起学习,一起进步。题目一 二分法题目传送门题目1描述实现一个有重复数字的数组查找,找到数组中第一个大于等于目标元素的元素位置,如果不存在,返回数组长度+1输入:5,4,[1,2,4,原创 2020-08-25 18:48:49 · 267 阅读 · 0 评论 -
LeetCode刷题(回文子串、数字的补数、密钥格式化、最大连续1的个数)
[]1.回文子串1.1 题目描述1.2题目分析1.3代码如下原创 2020-08-20 09:20:49 · 211 阅读 · 0 评论 -
leetcode刷题(被围绕的区域、字符串相乘、图像的渲染)
好久没有写博客了,由于自己最近准备一些找工作用的知识笔记,将java的基础知识在重新的准备复习,复习的相关笔记记录在个人的博客上,有并发编程的对一些框架、jvm的理解,希望有什么错误可以给我一些提示。博客地址1.被围绕的区域1.1 题目描述给定二维矩阵,其中有X和O两种字母,替换所有被X包围的O,边界以及边界相连的O不被替换例如:X X X XX O O XX X O XX O X X更改后X X X XX X X XX X X XX O X X题目传送门1.2 题目分析原创 2020-08-16 10:14:14 · 143 阅读 · 0 评论 -
Leetcode刷题(回旋镖、打家劫舍)
个人笔记推荐最近将之前学习的多线程的相关知识进行了总结以及对于juc相关的并发编程的api进行了复习,学习java的小伙伴可以提供一些意见:个人JUC笔记题目一描述回旋镖数量: 给定平面上n对不同的点,"回旋镖"是由点表示的元祖(i,j,k),其中i和j之间的距离和i和k之间的距离相等例如:输入: [[0,0],[1,0],[2,0]]输出为:2可以组成两个回旋镖,[[1,0],[0,0],[2,0]]和[[1,0],[2,0],[0,0]]传送门题目一分析该问题是一个选取点的问题,原创 2020-08-05 22:51:46 · 172 阅读 · 0 评论 -
leetcode刷题之流式计算(字符串中的单词、排列硬币、大数的和)
0.前言对于函数式编程称为了各个编程语言的范式,而且越来越多的相关新功能与函数式编程相关,函数式接口总体分为四种:消费型接口、供给型接口、断定式接口和函数接口,关于并发的学习,在个人网站的学习笔记中:JUC并发编程笔记 在学习并发中设计到很多相关的基础知识,也拓展了不少其他的知识。流式计算参考文档流式计算可以体现出一个程序员学习的能力吧,随后自己也需要在这个方面加强训练,只有不断保持学习才能提高自身的核心竞争力。1.字符串中的单词题目描述统计一个字符串中单词的个数,该单词指的是不为空格的字符例原创 2020-07-31 15:23:24 · 270 阅读 · 0 评论 -
leetcode刷题(股票问题、回文验证、旋转数组最小值)
最近被中期答辩弄得昏头转向,本来想着和计算机打交道,计算机会听话,会遵循指令做事,没想到研究的人工智能,甚至要把人类智能加入到计算机中,当然没有说不好,可是我们研究的有点偏,本来以为是高级的算法、数据结构等,没想到最后研究的还是人,真叫人头秃。上个周末,挤出一些时间学习了一下Elasticsearch,参考的是b站的狂神课程,课程的笔记在个人的博客学习笔记传送门项目使用springboot继承ES模仿京东的搜索页面,源码地址:项目源码由于学校学业的一些困扰,好久没有刷题,本次都为简单题目。1.股票问原创 2020-07-22 10:30:44 · 205 阅读 · 0 评论 -
Leetcode刷题之(电话号码字母组合、十进制转十六进制)
题目一描述:电话的数字键对应英文字母的26个字符,返回所有它能表示的字母组合,给出数组到字母的映射如下,数字1不对应任何字母。题目对于小白来说有点难,因此参考别人的程序,需要多多复习一下。传送门题目一分析:对于需要匹配的字符需要将数字与字符串进行相关的编码映射,因此使用map将自己的数字与数字对应的字符串进行相关的匹配。然后进行递归回溯进行将所有的数字对应的字符串拼接在一起代码如下:class Solution { List<String> list = new Array原创 2020-07-07 22:51:55 · 347 阅读 · 0 评论 -
Leetcode刷题(三个数之和、最接近三个数之和)
题目一描述给定一个整数类型的数组nums,数组中是否存在三个数字a,b,c,满足:a+b+c=0,求的所有满足条件的元素的集合,不能够有重复的元素例如:nums={-1,0,1,2,-1,-4}满足要求的有:[[-1,0,1],[-1,-1,2]]题目传送门题目一分析首先将数组进行排序,这个样就能够将相同的元素进行处理。当前三个元素的和如果等于0,那么将三个元素放入一个链表中,将其放入返回的结果中,将移动指针右移,将右指针左移,如果当前两个指针指向的位置与上一次自己指向的位置相同,那么原创 2020-07-06 15:16:27 · 576 阅读 · 0 评论 -
leetcode刷题(n的幂、数组的交集)
题目一描述:给定一个整数n,判断其是否是3的幂次方题目传送门给定一个整数n判断其是否是4的幂次方题目传送门题目一分析:同一种类型的题目判断一个整数是不是一个数的n次幂,自从学了计算机,是我慢慢的变得像计算机一样思考问题,总想着循环递归解决这个问题,而没想着大多数的问题使用数学就可以计算。x^k = n就可以的出k = logx(n),java的lang包中的Math类中有log10(int num)因此采用换底公式logx(n) = log10(n)/log10(x)代码如下:class原创 2020-06-22 10:34:46 · 209 阅读 · 0 评论 -
leetcode刷题(猜数字游戏、数组和计算)
题目一描述:猜数字游戏(Bulls and Cows)游戏,该游戏规则如下:1.你写出一个秘密数字,并请朋友猜这个数字是多少2.朋友每次猜测后,就给他提示,多少个位置是对的,多少个数字存在位置不对3.知道朋友猜中为止例如:secret = “1807” ,guess = “7801”输出:“1A3B”1个位置相同,三个元素存在但不相同题目一分析:对两个字符串进行遍历,相同位置元素也相同时,将局部变量same++,将相同位置不同的元素中的scret元素加入到一个map中,valu原创 2020-06-20 09:22:47 · 275 阅读 · 0 评论 -
leetcode刷题(缺失的数、移动零、单词规律)
近期做一些与智能规划相关的课题,使用Pddl语言,智能规划语言,其学习资料比较少,个人对于谓词的使用比较薄弱,找到一个学习的网址分享出来智能规划语言pddl1.题目一描述:给定0…n,找出没有出现的数字题目链接题目一分析:感觉题目描述的有一些小的瑕疵,给定0-n是n+1个数字,官网说的是n个数字,当然该描述并不影响做题。计算机学久了,会让人变成机器的思考方式,想着先将数组排序,与其下标不对应的那个元素就是缺失的数字,能够解决问题,但是时间复杂度蛮高的。随后看了其他人的思想,对于数组中的元素进行求和原创 2020-06-15 21:38:41 · 204 阅读 · 0 评论 -
leetcode刷题(树的所有路径、数字的和)
生命不止,刷题不休!!!最近没有进行新的java的学习,但是还是将自己的文章推荐一下,加入有哪个大佬看一看呢.个人博客地址题目一描述:给定一颗二叉树,获取所有从头结点到叶子节点的路径。题目链接题目一分析:对于二叉树的遍历一般采用递归的方式,但是对于路径的获取,需要记录从节点到该节点的记录,在叶子节点将记录加入到容器中,在此采用ArrayList和LinkedList都试了试,采用LinkedList是2毫秒,采用ArrayList是3毫秒,估计与底层的数据结构有关系,(jdk1.8中)Array原创 2020-06-14 22:34:45 · 237 阅读 · 0 评论 -
leetcode刷题(有序数组和有序链表构建树)
题目一描述:有序数组转换成一颗二叉树题目链接题目一分析:数组排好序中间位置为头结点,左边位置为左子树,右边节点为右子树,采用递归的方式进行树的构建代码如下:class Solution { public TreeNode sortedArrayToBST(int[] nums) { return arrayToTree(nums,0,nums.length-1); } //输入一个有序的数组,以及需要构建树的范围,节点的第一个位置和最后指向的位置 p原创 2020-06-12 12:50:17 · 188 阅读 · 0 评论 -
leet刷题之(杨辉三角、阶乘问题)
个人笔记博客:java的笔记题目一描述:给定一个整数,求出n行杨辉三角的前n排的数,例如:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]题目链接题目一分析:之前有一个使用递归求解杨辉三角的做法,每一行的第一个元素和最后一个元素是1,其余元素是其肩膀上元素的和,每行有K个元素。因此求当前元素时先求得上一行元素。代码如下:class Solution { public List<List<Intege原创 2020-06-09 21:40:58 · 759 阅读 · 1 评论 -
Leetcode刷题之是否为平衡树(面向对象思想)、链表有环
每个技术人员都应该有自己的技术博客,用来记录学习笔记我的笔记,如果有问题希望大家能够指点。之前的一篇判断平衡树的文章题目描述:给定一颗二叉树,判断该树是否为平衡二叉树。平衡二叉树的定义是,树中每个节点的左右子树高度差不能超过1题目链接题目分析:对于之前的文章中,求出每个节点的高度并进行一一判断,递归进行每个节点的高度计算并判断,其中会进行两次的高度计算过程;本次使用的是将计算的中间结果进行封装并且将判断结果也进行记录,每个节点向上级节点提供自己的高度和自己是否平衡。这样主要是为了体现面向对象原创 2020-06-06 11:39:17 · 177 阅读 · 0 评论 -
leetcode刷题(二叉树翻转、二叉树左右节点互换)
关于java的相关学习和一些笔记博客地址题目一描述:翻转一颗二叉树题目链接题目分析:对于这道题目可以先想着如何遍历一颗二叉树,因为需要访问树中的每一个节点,因此个人喜欢递归的方式进行访问。注: 其实这种题目是一种思想,选中当前一个节点,默认当前节点的左结点能够返回一个翻转后的左子树的头结点,右子树上能够返回一个翻转后右子树的头结点,当前节点将左右头结点进行交换。代码如下:class Solution { public TreeNode invertTree(TreeNode roo原创 2020-06-01 22:14:57 · 1615 阅读 · 0 评论 -
leetcode刷题(同构字符串、反转链表)
ps:对于java的学习笔记记录在自己的私人博客上,一起交流学习个人博客地址题目一描述:给定两个字符串s和t,判断两个字符串是否是同一种结构。例如:egg 和 add两个是同构的字符串,对于这样的返回trueleet题目题目一分析:对于这样重复的元素或者需要记录相同或者不同的元素,需要记录重复元素的数量时一般都会采用HashMap这种数据结构,是一种hash表的形式。大致分为以下情形:s串中的某个元素是否在map的key中,如果不存在:1.判断t串当前位置的元素是否在map的value中,原创 2020-05-30 17:22:41 · 117 阅读 · 0 评论 -
牛客网刷题笔记(字符串、约数的个数)
开始记录刷题笔记之前先推荐一下自己的学习博客,希望能够有更多的java学习者一起学习一起分享。个人博客地址 其中很有用的,也有的会后期更新的,一起学习吧。题目一描述:输入n个整数,依次输出每个数的约数的个数题目链接题目输入是两部分:51 3 4 6 12题目一分析:根据题目的要求:第一行输入的是求几个数的因数,第二行是求哪个数的因数,先要有读取数据的BufferedReader对象和InputStreamReader对象,另外输入数据的长度(1<=Num<=100000原创 2020-05-26 09:32:17 · 263 阅读 · 0 评论 -
leetcode刷题(中序遍历与前序或后序遍历构建二叉树)
题目一描述:根据一棵树的中序遍历与后序遍历构造二叉树。题目一分析:1.后续遍历:先遍历一颗树的左结点在遍历一棵树的右结点最后是根节点2.中序遍历:先遍历一棵树的左结点再遍历一颗树的根节点最后遍历一棵树的右结点后续遍历中的最后一个节点是树的根节点,对应于中序遍历中的一个元素该元素的左边位置为左子树,该节点的右边的元素为根节点的右子树。举个栗子:中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]代码如下:class原创 2020-05-23 22:39:18 · 759 阅读 · 0 评论 -
leetcode刷题(Excel相关、摩尔投票法、循环数组)
题目一描述:Excel表列名称:输入一个整数的元素,返回结果是其对应的列名第1列 A第2列 B第3列 C…第27列 AA第28列 AB题目一分析:根据题目的分析是一个26进制,每26就向上进一位。类似于一个周期函数那种,一个数对26取余可以得出其是哪一个字符,元素除以26可以算出元素在第几个周期中。例如:26取余26是0,26/26是1,说明26是第一个周期中的最后一个元素,因此其字符是‘A’+25对应的字符。本人采用递归的过程,每次计算当前余数所在的位置进行拼接,最后反转字原创 2020-05-20 11:07:55 · 171 阅读 · 0 评论 -
leetcode刷题之(逆波兰表达式和链表相交)
题目一:逆波兰表达式这另个题目在之前牛客网上也有见到过。逆波兰表达式:又称为后缀表达式,新建一个表达式,如果当前字符为变量或者为数字,则压栈,如果是运算符,则将栈顶两个元素弹出作相应运算,结果再入栈,最后当表达式扫描完后,栈里的元素就是计算结果。leetcode题目对于是一种简化,只考虑了+,-、*、/ 四则运算,对于优先级等运算没有进行描述。题目链接题目分析: 对于逆波兰表达式计算使用一个辅助空间栈进行运算,将所有的数值元素压入栈中,对于符号或操作的元素将栈顶另个元素出栈后,进行相应的运算载压入原创 2020-05-19 08:22:30 · 270 阅读 · 0 评论 -
leetCod刷题之最小值栈(Integer类型的小问题)
先看题目,从题目中找到问题:题目描述:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现一个获取最小值的栈题目分析:这个题目可以使用辅助的空间,因为需要在常数级别下进行操作,使用空间换取时间。使用两个栈进行操作,第一个栈用来将数据存储,第二个数据用于将最小值存入方便在常数时间获取。push操作: 将当前的元素放入一个栈中,如果当前入栈的元素小于最小栈栈顶元素或者最小栈中没有元素那么就需要将其压入最小元素的栈pop操作: 首先需要判断最小栈中的元素是否是第原创 2020-05-16 08:40:50 · 266 阅读 · 0 评论 -
力扣刷题之外观数列与二叉树的最近公共祖先
题目一描述:给定一个数字n,该数字对应的字符串是对n-1字符串的一个描述,如果n是1,则字符串为1.n=1 “1” 单纯的1n=2 “11” 表示一个1n=3 “21” 表示两个1n=4 “1211” 一个2一个1题目链接题目一分析:个人使用递归进行处理,当前n的字符串依赖于前一个字符串,所以每次都需要前面的字符串信息。代码如下:class Solution { public String countAndSay(int n) { //如果当前的n为1直接原创 2020-05-11 18:27:07 · 149 阅读 · 0 评论 -
leetcode刷题记录数组去重(附加一个面试问题)和字符串匹配
题外话,个人的博客记录将一些生活和学习笔记记录准备放在个人的博客上,个人的学习是以java为重点+算法+一些工具的使用,学习java的我们可以一起学习,思想的共享是双赢。个人博客链接题目一描述: 数组去重给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。题目分析: 因为要使用O(1)的空间复杂度,就是使用简单的几个变量来辅助完成要求。个人使用了三个指针加原创 2020-05-09 11:50:31 · 207 阅读 · 0 评论 -
力扣刷题之链表和字符串
注:所有的题目都是第一次进行刷题,没有进行优化,随后参考大神的代码进行优化**题目一描述:**两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。题目链接 两数字相加题目题目一分析:一次进行位置相加,将和与进位计算出来,并创建新的链表添加在返回链表的末尾。代码如下:import java.uti...原创 2020-05-05 00:16:24 · 240 阅读 · 0 评论 -
牛客网刷题之大整数相乘、二叉树路径
题目一:大整数相乘描述:有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。题目分析(参考别人的分析并不是自己想到的):两个数字相乘,相当于每个位置相乘,对应位置相乘的结果加下一位的进位的和再对10进行相除,得到的值为给上一位的进位,余数是自己该位置的数值。输入:输入两个字符串使用空格分隔,表示两个大整数代码如下:public ...原创 2020-04-29 21:50:52 · 298 阅读 · 0 评论 -
LeetCode刷题笔记之k个链表合并、删除链表中倒数第n个元素以及字符串检查
题目一描述:合并k个已排序的链表并将其作为一个已排序的链表返回。分析并描述其复杂度。题目一思路:给定一个集合,是k个有序的链表,将有序的链表进行合并,将已经排好序的链表与集合中取出一个链表进行合并,类似于插入排序的方式。对于这种复杂度个人认为是最好的情况下是k个链表的长度和,最差的情况下是n的k次幂代码如下:import java.util.ArrayList;public cla...原创 2020-03-30 22:33:25 · 181 阅读 · 0 评论 -
牛客网刷题之字符串(字符串的正则匹配、数值字符串)
题目1描述:请实现一个函数用来匹配包括 '.‘和’‘的正则表达式 。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配题目解析:题目的情况可以分为以下几部分:(参考讨论区的思想,进行简单记录)分别使用两个指...原创 2020-03-21 19:50:10 · 328 阅读 · 0 评论 -
刷题(数组中第k大的元素、丑数)
问题描述:寻找数组中第K大的元素问题解析:从数组中寻找第k大的元素,当然暴力解法就是将数组进行排序然后找到对应的元素,时间复杂度为O(nn)。减少时间复杂度,将数组进行k次的排序,每次找最大的元素,第k次的寻找就是第k大的元素,时间复杂度为O(nk)。代码如下: //寻找数组中第n个最大值,时间复杂度为O(N*K) public static int kthLargestEle...原创 2020-03-10 20:33:27 · 132 阅读 · 0 评论 -
牛客网leetcode刷题之数组(常数空间找数字、字典序最大排列、删除目标数、删除重复数)
题外话:2020庚子年,却是一个不如意的开始,全球各地都遭受带了自然界的伤害。这个寒假武汉的疫情令人痛心,科比也遭遇不幸。。。,不论如何都希望我们能够度过这次的难关,春暖花开时,愿你我不负好时光,希望人类能够珍爱生命、保护自然。--------------------------------------------------------1.题目一描述:给出一个无序的整数型数组,求不在给定数...原创 2020-02-07 10:55:23 · 273 阅读 · 0 评论 -
牛客网刷题之矩阵螺旋打印、矩阵旋转
题目一描述:给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。例如,给出以下矩阵:[↵ [ 1, 2, 3 ],↵ [ 4, 5, 6 ],↵ [ 7, 8, 9 ]↵]你应该返回[1,2,3,6,9,8,7,4,5]。题目一分析:相当于一个m x n的二维数组螺旋进行输出,边界条件可以分为三种:矩阵为空时,直接返回;行大于列时,列大于行时,单独循环打印...原创 2019-12-25 08:05:24 · 566 阅读 · 0 评论 -
牛客网刷题之数组(回形插入数组、合并重复区间)
题目一描述:给定一个整数n,将数字1到n^2n2按螺旋的顺序填入n×n的矩阵例如:给出的n=3,你应该返回如下矩阵:[↵ [ 1, 2, 3 ],↵ [ 8, 9, 4 ],↵ [ 7, 6, 5 ]↵]题目一分析:相当于之前的回形打印数组,需要使用四个指针,来表示上下左右四个边界,按照规则向中间压缩。代码如下:public class Solution { pub...原创 2019-12-23 10:15:52 · 335 阅读 · 0 评论 -
牛客网刷题(数组数+1、合并有序链表、链表右转)
题目一描述:给出用数字数组表示的一个非负整数,请对该整数加1。题目一分析:题目的意思是,将一个多位数按位置分开放置在数组中,每个位置上的数字表示该多位数的某一位数。例如:569,使用int[] arr = {5,6,9};表示代码如下:public class Solution { public int[] plusOne(int[] digits) { //该数...原创 2019-12-21 21:18:42 · 229 阅读 · 0 评论