android面试题

  1. 给最外层的rootview,把这个根视图下的全部button背景设置成红色,手写代码,不许用递归
  2. 给一串字符串比如abbbcccd,输出a1b3c3d1,手写代码(注意有个别字符可能会出现十次以上的情况)
            String content = "abbbcccd";
            StringBuilder sb = new StringBuilder();
            for(int i =0, length = content.length(); i < length; ){
                char item = content.charAt(i);
                int lastIndex = content.lastIndexOf(item);
                int itemCount = lastIndex - i + 1;
                sb.append(String.valueOf(item) + itemCount);
    
                //next index
                i = lastIndex + 1;
                if(lastIndex >= length)
                    break;
            }
            System.out.print(sb.toString());

  3. 一个序列,它的形式是12349678,9是最高峰,经历了一个上升又下降的过程,找出里面的最大值的位置,要求效率尽可能高
  4. 二叉查找树的删除操作,手写代码
  5. 反转链表,手写代码
  6. 二分查找,手写代码
  7. 有海量条 url,其中不重复的有300万条,现在希望挑选出重复出现次数最高的 url,要求效率尽可能的高
  8. 一篇英语文章,去掉字符只留下k个,如何去掉才能使这k个字符字典序最小
  9. 弗洛伊德算法和 Dijkstra算法的区别?复杂度是多少?讲讲 Dijkstra算法的具体过程
  10. 反转字符串,要求手写代码,优化速度、优化空间
  11. 给出两个无向图,找出这2个无向图中相同的环路。手写代码
  12. 单例模式,手写代码
  13. 生产者与消费者,手写代码
  14. 二叉树镜像,手写代码
  15. 最长不重复子串(最长重复子串),手写代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值