面试中遇到的算法题

1,java链表倒序排列

详见该文章

http://dianziermu.iteye.com/blog/405318

2,java中查找重复的字符



3,排序输出AaBbCcDd


亚马逊面试题目


1,哈希表 

哈希表主要是构造一个映射函数,该函数以数据元素为自变量,函数值即为数据元素在内存中的存储位置。通常把这样的映射函数称为哈希函数h(x)。因此可以说,哈希表是通过哈希函数h(x)来确定数据元素x存放位置h(x)的一种特殊存储结构。



2,数组和链表的区别

二者都属于一种数据结构
从逻辑结构来看
1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素
从内存存储来看
1. (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小
2. 链表从堆中分配空间, 自由度大但是申请管理比较麻烦 

从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。

3,树的含义

http://blog.csdn.net/liuzhanchen1987/article/details/7324935

数据结构中为了存储和查找的方便,用各种树结构来存储文件,本章就浅谈一下各种树的表示方法、特点及各自的用途,本章设计的树结构包括:二叉查找树(二叉排序树)、平衡二叉树(AVL树)、红黑树、B-树、B+树、字典树(trie树)、后缀树、广义后缀树。


A -> B -> C -> D -> E -> null
A.next = B;


A.random = C;
B.random = B;
C.random = A;
D.random = A;
E.random = null;


A' -> B' -> C' -> D' -> E' -> null
A'.random = C';
 
class Node {
    int value;
    Node next;
    Node random;
}


Node makeCopy(Node original) {
    for(int i=0;i<original.length();i++){
          
    }
}


-----------------------
| 1  3  4  5  7 
| 4  7  11 15 21
| 5  8  20 22 24
| 11 12 21 30 31


class Test{
    
    
    
    
    private boolean isContainValueInArray(AarryList<AarryList(String) arrayList,String key>){
    
        for(int i=0;i<arrayList.size();i++){
            for(int j=0;j<arrayList.get(i).size();j++){
                if(arrayList.get(i).get(j).equels(key){
                    return true;
                }
            }
        }
        return false;
    }
    
}





2014年10月22日  阿里巴巴航空事业部面试题目


1....合并两个有序的链表,合并后的链表也要有序。。。。。
用比较高效的方式进行合并,而不是两次for循环。。。

2,动态加载资源。。。防止62335超过bug


3,动画api。。。Android4.0  objectAnimation


4,架构整个项目


5,性能优化。。。。。。


6,Activity在frameWork层面如何启动的。。。



2014年10月30号,腾讯面试题目

1,listview的使用方法


2,viewholder的优化原理


3,framework的工作原理,里面的activity,service,cp,br


4,说出最近感觉做的最好的效果


5,animation动画源码实现,自定义动画


6,touchevent事件传递机制及原理


7,Java中锁的机制,sycon关键字。。


8,设计模式中观察者模式,uml类图。。。


9,自定义view实现onMeasure(),onDraw(),onLayout()的顺序。。














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值