面试题
29DCH
In me the tiger sniffs the rose.
展开
-
阿里巴巴社招Java面试题做题记录
阿里巴巴社招Java面试题 1、String和StringBuffer的区别 运行速度和线程安全两方面: 运行速度:StringBuilder >StringBuffer >String String是字符串常量,不可变,每次改变只是创建一个新的对象,然后GC回收掉老的那个,所以执行速度最慢,另外两个是字符串对象,可变。 线程安全: StringBuilder是线程不安全的...原创 2018-06-13 22:17:12 · 3784 阅读 · 0 评论 -
记Google的一道面试题(java) Beautiful Numbers
Beautiful Numbers思路:13->三进制->11111+13+133=1313%3=1,13/3=44%3=1,4/3=11%3=1,1/3=01.第一种情况:数据范围比较小代码:package test;import java.io.BufferedReader;import java.io.InputStreamReader;import...原创 2018-12-09 22:59:29 · 493 阅读 · 0 评论 -
leetcode347 Top K Frequent Elements(前K个高频元素)
题目链接:https://leetcode.com/problems/top-k-frequent-elements/知识点:优先队列,详细见我的博客 https://blog.csdn.net/CowBoySoBusy/article/details/84338996思路:维护一个k个元素的优先队列,如果遍历到的元素比队列中最小频率的元素频率高,则取出队列中最小频率的元素,将新元素入队....原创 2018-11-22 18:29:46 · 170 阅读 · 0 评论 -
leetcode279 Perfect Squares(完全平方数)
题目链接:https://leetcode.com/problems/perfect-squares/description/知识点:图论问题,最短路径,队列实现广度优先算法思路:这题运用贪心的思想是行不通的。举出一个反例如下:标准解:12 = 4 + 4 + 4.贪心解:12=9 + 1 + 1 + 1.显然贪心求出来的组成和的完全平方数的个数比最优情况下要多。所以采用转化为...原创 2018-11-22 12:34:00 · 188 阅读 · 0 评论 -
leetcode144 Binary Tree Preorder Traversal(二叉树的前序遍历)
题目链接https://leetcode.com/problems/binary-tree-preorder-traversal/知识点:树,递归,栈,迭代等。思路:1.递归进行树的前序遍历2.借助栈来进行迭代AC代码:1.递归class Solution {public: vector<int> res; vector<int&a原创 2018-11-14 21:57:09 · 129 阅读 · 0 评论 -
leetcode20 Valid Parentheses(有效的括号)
题目链接https://leetcode.com/problems/valid-parentheses/知识点:考察栈的相关知识思路:遍历括号字符串序列,遇到左方向的括号就入栈,遇到右方向的括号时,如果与此时的栈顶元素相匹配,就出栈,否则代表出错,后面就不需要再匹配了。然后继续遍历序列直到结束。如何与当时栈顶元素不匹配或者最后栈不为空,代表false,否则就是有效的字符串序列。AC代码...原创 2018-11-12 20:59:12 · 152 阅读 · 0 评论 -
leetcode19 Remove Nth Node From End of List(删除链表的倒数第N个节点)
题目链接https://leetcode.com/problems/remove-nth-node-from-end-of-list/知识点:考察链表、指针相关知识思路:1.先遍历一遍计算得到链表的长度,再遍历一遍删除倒数第n个节点2.双指针法:p指针开始的时候指向虚拟头结点,p、q指针之间的距离一直保持为n,p、q指针同时往链表尾移动直到q指针指向NULL,代表此时p指针指向的元素...原创 2018-10-29 17:39:47 · 139 阅读 · 0 评论 -
leetcode237 Delete Node in a Linked List(删除链表中的节点)
题目链接https://leetcode.com/problems/delete-node-in-a-linked-list/知识点:考察链表、指针相关知识思路:这里只给出了node,没有给出val值,所以在一般情况下是不好删除node节点的.但是可以借助一个巧妙的方法,将node节点的下一个节点的值赋值给node节点,然后删除node节点的下一个节点即可.同样达到了删除node节点的目...原创 2018-10-29 16:07:27 · 245 阅读 · 0 评论 -
leetcode24 Swap Nodes in Pairs(两两交换链表中的节点)
题目链接https://leetcode.com/problems/swap-nodes-in-pairs/知识点:考察链表指针相关知识思路:用p、node1、node2、next四个指针操作。相邻两个元素依次反转完毕后直到p指针指向倒数第二个节点时结束,将虚拟头结点dummyhead销毁,返回头结点retNode即可。AC代码:class Solution{public: ...原创 2018-10-29 14:52:14 · 195 阅读 · 0 评论 -
12个有趣的C语言面试题及答案
转载自:http://blog.csdn.net/sjin_1314/article/details/4841848312个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!1.gets()函数问:请找出下面代码里的问题:[c] view plain copy print?#include<stdio.h>   ...转载 2018-09-05 20:14:45 · 513 阅读 · 0 评论 -
总结无需中间变量交换两个变量的值的方法
依靠中间变量交换两个变量的值的方法想必大家已十分熟悉,这也是在程序设计和解决工程问题的时候经常使用的方法.但是有些时候根据一些特定的性质,我们不需要借助第三方变量来交换指定两个变量的值. public class SwapTest { public static void main(String[] args) { /* * 位异或运算符的特点 * ^的特点:一个数据对...原创 2018-08-25 10:07:42 · 344 阅读 · 0 评论 -
java equals方法重写和hashcode方法总结
JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现(重写覆盖了原来的),而不再是比较类在堆内存中的存放地址了。 equals方法,比较两个对象是否相等,比较的是地址(初始)和值...原创 2018-08-28 15:12:33 · 208 阅读 · 0 评论 -
java内部类总结
内部类概述分为成员内部类,静态内部类,局部内部类,匿名内部类内部类访问特点 * a:内部类可以直接访问外部类的成员,包括私有。 * b:外部类要访问内部类的成员,必须创建对象。 * 外部类名.内部类名 对象名 = 外部类对象.内部类对象;1.成员内部类:public class Test { public static void main(String[]...原创 2018-08-27 21:08:05 · 193 阅读 · 0 评论 -
java抽象类与接口总结
1.抽象类:抽象类特点 a:抽象类和抽象方法必须用abstract关键字修饰 abstract class 类名 {} public abstract void 方法名(); b:抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口 c:抽象类不能实例化那么,抽象类如何实例化呢? 按照多态的方式,由具体的子类实...原创 2018-08-27 12:29:06 · 238 阅读 · 0 评论 -
java多态总结
简单的说就是父类引用指向子类对象.一种方法, 多种实现.规则:成员变量:编译看左边(父类),运行看左边(父类);成员方法:编译看左边(父类),运行看右边(子类,动态绑定).public class Polymorphic { public static void main(String[] args) { /*Father f = new Son(); //父类引用...原创 2018-08-26 20:59:53 · 327 阅读 · 0 评论 -
java代码块总结
在java中将代码用{}括起来的部分叫做代码块,分为局部代码块,构造代码块,静态代码块,同步代码块。局部代码块 :在方法中出现;限定变量生命周期,及早释放,提高内存利用率构造代码块 (初始化块): 在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行静态代码块 : 在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行...原创 2018-08-26 17:18:30 · 183 阅读 · 0 评论 -
shell编程、JVM、大数据等相关试题解析
1.运行一个脚本时 . /bin/script.sh 和 /bin/script.sh 两种方式有何区别?带点号的,是在当前bash进程中运行,不带点号的是在一个新的bash子进程中运行2.脚本中直接定义一个变量 a=3 和 export a=3 有何区别a=3在所运行的bash进程环境中有效export a=3 在所运行的bash进程和父进程中都有效3.shell脚本中如...原创 2019-02-26 11:23:11 · 612 阅读 · 0 评论