自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 秋招之8.31农行研发中心笔试

农行研发中心再ATA集中举办的机试,应该算是很大规模的吧,我在8考场,有朋友在17考场,每个考场有七八十个人。 早上9:00-11:00两个小时的时间,门口有小柜子可以放个人物品,草稿纸会发,只用带水、笔和准考证身份证 座位离得挺近的,但是大家题目顺序不太一样。 题目构成是:行政能力测试(10分钟)、英语(15分钟)、专业知识(70分钟)、性格测试(15分钟),时间上记得不太清楚了,大概是这...

2019-08-31 17:35:35 5409 2

原创 268. Missing Number

这个题是比较简单,不过要先注意一下提示(note,要求运行时间线性,额外空间有限)。由于数组可以确定是0到n,输入缺少其中一个,那么总和-数组总和就是缺少的那个数。Java代码:class Solution {    public int missingNumber(int[] nums) {        int length = nums.length;        int sum = le

2018-01-17 20:27:19 151

原创 598. Range Addition II

题目意思很简单,然后我就按照一般办法做的,遍历一遍ops,对于符合的进行加一操作,然后再遍历一遍得到最大值有多少个。 然后就华丽的TLE了。 所以找了新思路,对于ops取每对a和b的最小值,然后与m、n比较取最小值,最后返回乘积。 java代码(运行时间6ms) public int maxCount(int m, int n, int[][] ops) {         int mi

2017-11-15 20:24:06 177

原创 258. Add Digits

对num的每位数字做和,然后循环,直到和小于10为止。 java代码(运行时间2ms)  public int addDigits(int num) {         int sum = 0;         while(num!=0) {         sum = sum+num%10;         num=num/10;         } if(sum return

2017-10-30 16:01:54 143

原创 520. Detect Capital

判断一个字符串是否满足三个条件(全大写、全小写、只有第一个字母大写其他小写) 首先遍历一遍,获得大写字母的个数 判断(与字符串长度相等=全大写,为0=全小写,等于1--判断是否为第一个字母大写,其他都是false) java代码(运行28ms)  public boolean detectCapitalUse(String word) {         int length =

2017-10-30 15:30:01 152

原创 226. Invert Binary Tree

交换二叉树的左右节点,还是用到迭代的方法。 java代码: public TreeNode invertTree(TreeNode root) {         if(root==null) return null; else { TreeNode newTree = root.left; TreeNode left = root.left; TreeNode right = ro

2017-10-30 15:17:50 131

原创 104. Maximum Depth of Binary Tree

题目很简单,是求一个二叉树的最大层数,首先思路就是用迭代的方法,左子树的长度和右子树长度比较之后取最大值,然后加一即为二叉树的最大层数。 java代码如下(运行时间1ms,并不是很快) public int maxDepth(TreeNode root) {         if(root==null) return 0;         else { int maxleft = max

2017-10-30 15:06:29 120

原创 690. Employee Importance

题目中每个有三个元素,id、值、手下的编号list,由于题目并没有说明id是顺序并且按照1,2,3,4,……所以,需要遍历一次获取到id对应的值以及list,然后对每个list递归调用并将值累加。 [[1, 5, [2, 3]], [2, 3, []], [3, 3, []]], 1 public int getImportance(List employees, int

2017-10-24 15:34:25 141

原创 566. Reshape the Matrix

将一个数组变成r*c的数组,获得数组长度,如果和r*s不同,就返回原矩阵,否则,就每行读取,给新矩阵每行进行赋值。 java代码:(8ms,不是很快诶==)     public int[][] matrixReshape(int[][] nums, int r, int c) {         int sum = nums.length*nums[0].length;      

2017-10-23 16:19:57 122

原创 575. Distribute Candies

题目是求姐姐最多能拿到蜡烛的种类,当所有蜡烛都不同时,姐姐最多拿到数组长度一半的种类,当所有蜡烛都相同时,姐姐最多拿到一种,所以考虑用hashmap存不同蜡烛,以便于求不同蜡烛一共有多少个。最后判断它和数组长度一半的大小。 java代码如下:(运行时间113ms,并不是很快) public int distributeCandies(int[] candies) {         Hash

2017-10-23 15:34:44 142

原创 682. Baseball Game

题目理解意思之后,就是栈的工作原理,遇到数字就进栈,遇到“+”将栈顶前两个数字相加作为新值入栈,遇到“D”将栈顶数字两倍值作为新值入栈,遇到“C”栈顶出栈。 我用一个数组来表示一个栈。 Java代码:(运行时间7ms)  public int calPoints(String[] ops) {               int length = ops.length; int arra

2017-10-23 15:19:11 279

原创 500. Keyboard Row

题意就是判断一个单词是否在同一行。 我的方法是:首先判断这个单词的第一个字母在哪个位置,然后判断后边的字母是不是和第一个字母的位置相同,不同的话就赋值0。可能我写的比较麻烦,因为看上去代码好多,有待于进一步改进把。 java代码如下:(运行时间3ms)  public String[] findWords(String[] words) {         String line = "Q

2017-10-22 22:18:59 122

原创 476. Number Complement

理解一下题意,大概就是对该数的二进制值进行取反,但是与取反运算不同的是(5的二进制为00000101,取反会是11111010,而想得到的是00000010)。所以我想用异或运算来求解。sum是求一个二进制为1,并且比该数大的值。比如5的二进制是00000101,我要求的是00000111,即6,然后取异或,得到00000010,即2) java代码是:(13ms,感觉不知道该怎么提高了。。)

2017-10-22 21:28:21 140

原创 561. Array Partition I

根据题目意思,首先将一个2n的数组进行排序,然后两个一组进行分组,每组取最小值进行相加。 java代码如下: public int arrayPairSum(int[] nums) {        List num = new ArrayList();     for(int i=0;i     num.add(nums[i]);     }     Collections.s

2017-10-22 19:21:31 217

原创 617. Merge Two Binary Trees

题目意思是将两个二叉树合并,左树相加,右树相加。 此题的心得和总结是: 1.此处大概就是要理解循环调用(忘记这个词儿咋说了,迭代?)。 2.还要注意红色部分,一定要记得赋初值,不赋初值的后果就是在紫色部分调用t.val时会无这个值而产生错误(Runtime Error) java代码如下。 public TreeNode mergeTrees(TreeNode t1, TreeNode

2017-10-21 21:24:19 132

原创 657. Judge Route Circle

这个题还比较简单吧。大概就是一个人可以上(U)下(D)左(L)右(R)移动,所以我就把它作为一个坐标轴上的点的移动来看,最开始是(0,0),U时是x轴加一,D时是x轴减一,L时是y轴减一,R时是y轴加一。那么代码也就很简单了。最后判断一下是否回到原点就可以了。 (个人心得及总结:其中用到了string类型的charAt方法,这个是从网上搜到的对string取第i个字符串的方法,然后char类型的

2017-10-20 21:40:05 195

原创 461. Hamming Distance

其实题目很简单,但是因为有些单词不太懂,所以没怎么理解题的意思。它是讲我们对两个数的二进制数进行计算,计算他们不同的个数,同时是0或者1,不计数,一个是0一个是1就计数。(PS:当时我就是以为是相同的取1,不同的取0,结果刷了好多次都没过,真是哭死了。) 下面是我自己的代码,可能有些过于简单,只做参考:(java代码) class Solution {     public int hamm

2017-10-20 21:23:41 149

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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