百度作业帮一面总结
2015-11-06 17:59
351 查看
1、让写了一个算法:具体题目是,给你两个有序链表,怎样找到相同的元素,并保存后输出,下面是我的代码:(有链表的构成和实现函数)----哈哈,算法难不倒我滴,人称“小数据结构”
(1)链表为空的情况
(2)两个链表没有相同元素的情况
(3)其中一个链表的最大值是这个链表的最小值
(4)普通情况:就是有几个相同的值
时候才被自己的单细胞给蠢哭了,下面是我又响起的几个测试用例:
(5)都相等(这个怎么就没想到呢,都想到都不相等的了都相等不就是嘴上的事吗,哎。。。不过总结经验是好的)
(6)连表中有几个连续相等的数据---该怎么办,这种情况就是在比较一下下一个元素不就行了,简直被自己给蠢哭了。。。不开森
不过言归正传,还是要继续学习的,对于(6)这种情况,处理函数应该这么写滴:想了想其实没必要,因为题目就是找出相同元素即可。
不过如果既然找出相同元素,又要找出相同元素的个数那么用hashmap进行存储。代码下篇附上
2、对做过的项目的一些介绍,被一个问题问住了,因为没接触过:就是==和===有什么区别,,,,晕了,貌似见过===的那是自我感觉肯定是写错了,我就呵呵了。
具体详解点击打开链接
3、还有就是对数据库的使用:主要是索引,食物的原子性(要么都做要么都不做),患有表之间的关联(可以使用外键,创建视图),患友就是限时抢购模块,怎么能保证公平的情况下有能抢到东西,(我是用平均分法处理的,就是有m个用户再抢,n件商品,m肯定>n)此时就要均分,就是将人分成n组,每组m/n人1件商品,保证了公平性,但是你怎么知道此时的人数呢:我用了一个方法:那就是在数据库中新建一个表,记录用户,商品,商品件数等几个字段,然后用户id是自动递增,用sql语句的出最后一行的id传进来作为人数(貌似直接计算行数就行即:count(*)就ok,又被自己蠢哭了。。。)。患友就是数据库的藏数据问题,这个下下篇介绍。。吃饭去了。。
package linkedlist; import java.util.ArrayList; import java.util.LinkedList; /** * Created by Administrator on 2015/11/6 0006. */ public class Pandeng { public static void main(String[] args) { Node h1=new Node(0); Node head1=h1; Node h2=new Node(1); Node head2=h2; Node t1; Node t2; for(int i=1;i<5;i++){ t1=new Node(i); h1.next=t1; h1=t1; } h1.next=null; for(int i=2;i<6;i++){ t2=new Node(i); h2.next=t2; h2=t2; } h2.next=null; ArrayList<Integer> list=new ArrayList<Integer>(); list=doWork(head1,head2); for(int i:list) System.out.print(i+" "); } private static ArrayList<Integer> doWork(Node h1, Node h2) { if(h1==null||h2==null) return null; ArrayList<Integer> list=new ArrayList<Integer>(); while(h1!=null&&h2!=null){ if(h1.value==h2.value){ list.add(h1.value); h1=h1.next; h2=h2.next; } else if(h1.value>h2.value) h2=h2.next; else h1=h1.next; } return list; } static class Node{ Node next; int value; public Node(int value) { this.value = value; next=null; } } }最后一面面试官问我对此进行测试的话有哪些测试用例:我说出来4个:
(1)链表为空的情况
(2)两个链表没有相同元素的情况
(3)其中一个链表的最大值是这个链表的最小值
(4)普通情况:就是有几个相同的值
时候才被自己的单细胞给蠢哭了,下面是我又响起的几个测试用例:
(5)都相等(这个怎么就没想到呢,都想到都不相等的了都相等不就是嘴上的事吗,哎。。。不过总结经验是好的)
(6)连表中有几个连续相等的数据---该怎么办,这种情况就是在比较一下下一个元素不就行了,简直被自己给蠢哭了。。。不开森
不过言归正传,还是要继续学习的,对于(6)这种情况,处理函数应该这么写滴:想了想其实没必要,因为题目就是找出相同元素即可。
不过如果既然找出相同元素,又要找出相同元素的个数那么用hashmap进行存储。代码下篇附上
2、对做过的项目的一些介绍,被一个问题问住了,因为没接触过:就是==和===有什么区别,,,,晕了,貌似见过===的那是自我感觉肯定是写错了,我就呵呵了。
具体详解点击打开链接
3、还有就是对数据库的使用:主要是索引,食物的原子性(要么都做要么都不做),患有表之间的关联(可以使用外键,创建视图),患友就是限时抢购模块,怎么能保证公平的情况下有能抢到东西,(我是用平均分法处理的,就是有m个用户再抢,n件商品,m肯定>n)此时就要均分,就是将人分成n组,每组m/n人1件商品,保证了公平性,但是你怎么知道此时的人数呢:我用了一个方法:那就是在数据库中新建一个表,记录用户,商品,商品件数等几个字段,然后用户id是自动递增,用sql语句的出最后一行的id传进来作为人数(貌似直接计算行数就行即:count(*)就ok,又被自己蠢哭了。。。)。患友就是数据库的藏数据问题,这个下下篇介绍。。吃饭去了。。
相关文章推荐
- call to a member function display() on a non-object
- android_01Activity_知识小结
- 利用GoAhead构建嵌入式web应用
- C++ operator关键字(重载操作符)
- HDU---2222-Keywords Search(AC自动机)
- Red Hat Enterprise Linux 6.4上编译proc
- js 事件冒泡和事件捕获
- CentOS5.4安装samba服务
- 判断当前android系统的尺寸。用来区分平板和手机,亲测。
- Leetcode142: Restore IP Addresses
- build/envsetup.sh 简介
- iOS学习之Table View的简单使用(前辈写的哦,仅是收藏一下,好仔细啊,赞!)
- curl
- LeetCode OJ:Group Anagrams(同字符字符群)
- Mac 键盘快捷键
- Android支付宝、微信支付阐述
- as3将sprite类型复制到另一个sprite
- Dispose接口规范
- Hibernate缓存机制简述 (转)
- 利用GoAhead构建嵌入式web应用