The night of summer

立志做一个优雅的程序媛,在自己宽敞的世界开心的活。

牛客:剑指offer:顺时针打印矩阵 (Java)(同leetcode的spiral matrix i 和ii)

题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:1 2 3 45 6 7 89 10 11 1213 14 15 16则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. leetcode的spiral m...

2016-12-15 10:53:14

阅读数 262

评论数 0

牛客:剑指offer:孩子们的游戏(圆圈中最后剩下的数) (Java)

转自:http://blog.csdn.net/crazy__chen/article/details/45115911 题目描述: 解法1:找规律。首先定义最初的n个数字(0,1,…,n-1)中最后剩下的数字是关于n和m的方程为f(n,m)。在这n个数字中,第一个被删除的数字是(...

2016-12-12 11:29:04

阅读数 747

评论数 0

牛客:剑指offer:扑克牌顺子 (Java)

题目描述: 解析: 随机抽的5张牌可以看成5个数字组成的数组,大、小王是特殊的数字,不妨定义为0.接下来只要判断5个数字是不是连续的。最直观的方法是排序,然后用0去补满数组中的空缺。如果排序后的数组不是连续的,即相邻的两个数字都相隔若干个数字,但只要我们有足够的0可以补满这两个数字的空缺,...

2016-12-12 11:13:22

阅读数 275

评论数 0

牛客:剑指offer:翻转单词顺序列 (Java)

题目描述: 解析: 这个题目看上去很简单,思路就是把句子按空给切分(split)为一个个的单词,然后从后往前存入返回的字符串中就行。 但是我并没有一次AC,原因是因为对于全是空格的句子,我用split切分后就什么也没有了,就会返回"",会报错,所以对于切分后的长度进行...

2016-12-12 10:43:39

阅读数 241

评论数 0

牛客:剑指offer左旋转字符串 java

题目描述: 解析: 看到这个我们想到的肯定都是将字符串前面的0-n剪下来放到字符串后面就可以了,可能是我JS用的比较多,所以马上就想到用String自带的字符串切分方法。 public class Solution { public String LeftRotateString...

2016-12-12 10:29:05

阅读数 175

评论数 0

牛客:剑指offer:和为S的连续正数序列 (Java)

题目描述: 解析: 看到这个题目,我想到的办法是i从1开始遍历到mid=(sum+1)/2,每次求i开始直到mid的和,中间找到和为sum的就存到结果res中。但是这个效率太低,每次都要遍历i到mid次。 import java.util.ArrayList; public class Solu...

2016-12-12 09:21:41

阅读数 155

评论数 0

牛客:剑指offer:数组中只出现一次的数字 (Java)

题目描述: 看到这个题目我首先想到的方法就是,遍历数组,用一个map来装没有出现过的数,如果map中已经有这个数了,就说明这个数是第2次出现了,所以把这个数从map中remove掉,这样遍历一遍后map中就只会剩下只出现一次的那两个值。代码实现如下: //num1,num2分别为长度为1的...

2016-12-10 16:58:49

阅读数 222

评论数 0

牛客:剑指offer:平衡二叉树 (Java)

题目描述: 解析: 因为我是看了牛客上leetcode的那些题,然后才来看剑指offer的,剑指offer里基本都是leetcode上的原题,所以已经会做了。 这个题是对上一个题(求二叉树的最大深度)的应用,平衡二叉树的定义:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,...

2016-12-10 16:15:34

阅读数 762

评论数 0

牛客:剑指offer:二叉树的深度(Java)

题目: 解析: 二叉树的深度是所有节点的最大深度。二叉树的问题一般通过递归可以实现,从二叉树的根节点开始,树的深度等于左子节点深度和右子节点深度的最大值加上1(根节点),递归调用即可。 /** public class TreeNode { int val = 0; ...

2016-12-10 15:57:19

阅读数 163

评论数 0

牛客:剑指offer:数字在排序数组中出现的次数 (Java)

牛客上的题目描述: 解析: 这个题目很简单,因为是排序好的数组,所以数字k出现的位置是连续的,所以可以在计算res大于0,且array[i] != k后就返回,因为后面不会再有k出现了。 代码如下: public class Solution { public int GetN...

2016-12-10 15:13:45

阅读数 141

评论数 0

牛客:剑指offer:两个链表的第一个公共结点(Java)

题目: 看到这个题,我想到的就是最笨的办法,先遍历两个链表,算出各自的长度,然后让长的链表先走Math.abs(l1-l2)步,然后两个指针再一起走,当指向同一个节点时就找到了公共节点。 虽然觉得这个办法太老了,但是暂时也没有想到新方法。 /* public class ListNode...

2016-12-10 15:03:30

阅读数 147

评论数 0

牛客:剑指offer:丑数(Java)

牛客上对应题目: 解析: 方法一: 逐个判断每个整数是不是丑数的解法,直观但不够高效: 所谓一个数m是另一个数n的因子,是指n能被m整除,也就是说n%m==0.根据丑数的定义,丑数只能被2,3,5整除。也就是说如果一个数能被2整除,我们把它连续除以2;如果能被3整除,就连续除以3;...

2016-12-10 11:57:03

阅读数 573

评论数 0

牛客网:剑指offer:把数组排成最小的数(java)

我是在牛客上刷的这个题,牛客上的原题是: 我用的方法是先将数组排序,然后用BigInteger判断组合后的整数大小,从而决定组合方式。AC代码如下:import java.util.ArrayList; import java.math.BigInteger; public class So...

2016-12-10 11:28:56

阅读数 295

评论数 0

剑指offer-整数中1出现的次数(从1到n整数中1出现的次数)

转自:http://blog.csdn.net/huzhigenlaohu/article/details/51779365 整数中1出现的次数(从1到n整数中1出现的次数) 求出1 ~ 13的整数中1出现的次数,并算出100 ~ 1300的整数中1出现的次数?为此他特别数了一下1~13中包...

2016-12-10 10:14:22

阅读数 233

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭