yp
里面是我整理的yp的所有的面经。 P1 String Reduction: 给一个字符串,把所有连续出现两次或以上的字符缩减到一个,比如“aaabbbccdccc”变成“3a3b2cd3c”
def compress(s):
if not s:
return None
index = 0
res = ''
while index<len(s):
cur = s[index]
cnt = 1
while (index+1)<len(s) and s[index+1]==s[index]:
index += 1
cnt += 1
res += cur + (str(cnt) if cnt>1 else '')
index += 1
return res
s = 'abbdceccc'
ans = compress(s)
print(ans)
P2 Merge two sorted linked list.
class Node(object):
def __init__(self, val=None):
self.val = val
self.next = None
def mergeLinkedList(l1, l2):
dummy = Node()
pre = dummy
while l1 and l2:
if l1.val<l2.val:
dummy.next = l1
l1 = l1.next
else:
dummy.next = l2
l2 = l2.next
dummy = dummy.next
if l1 or l2:
dummy.next = l1 or l2
return pre.next
a = Node(0)
b = Node(1)
c = Node(2)
d = Node(3)
a.next = b
c.next = d
head = mergeLinkedList(a, c)
while head:
print head.val
head = head.next
昨晚做了YELP OA。。。 地里原题,好像很简单 就是给你一堆BusinessInfo{int id, int rating}, 根据rating 从大到小排序 直接sort
刚做的Yelp OA.题目是有一个BusinessInfo class. 有两个参数 Rating(Integer). Name(String)..
输入一个List
class businessObject(object):
def __init__(self, name=None, rating = None):
self.name = name
self.rating = rating
def sortRes(l):
l.sort(key=lambda x: x.rating)
return l
l = [businessObject('a', 5),
businessObject('b', 4),
businessObject('c', 3),
businessObject('d', 2),
businessObject('e', 1)]
a = [i.name for i in sortRes(l)]
print a
给两个list 这俩list里面有相同元素 找到index的和是最小的对应这个元素是啥
给一个list,每个element有id和rating. Waral 输出rating的中位数 直接排序,输出中位数即可
之前还练习过一道排列 color的题,输入二维的list, { "red", "black","green" "white", "red", "black".
上个月HR发来的OA拖到昨天才做,15分钟,题跟地里其他的同学一样,给一个BusinessInfo{name, rating}的vector,求rating的medium。 写了个custom comparator排序做出来的
只有一道題,15分鐘。給個matrix of strings,找出現最多次的strings(可以超過一個)。答案要 alphabetically sorted。. e.g., [ ["blue", "blue", "black"], ["black", "red", "yellow", "green"]. 1point 3acres 璁哄潧 ["yellow", "green"] ]
Answer: a vector of {"black", "blue", "green", "yellow"} 因為都出現兩次。 . more info on 1point3acres.com 問題有些細節忘了,大家拿到還是認真看下題。
海投的Yelp 2016 fall intern。没想到很快有hr联系我,收到OA V4 说1-2周内做完,硬是拖到了最后。还问了下有没有summer的机会,告诉我已经满了。 OA题目没有变,还是Anagram Checker,大家可以参考其他。没有简答题,只有一道编程题。 但是有个奇怪的事是,我好像只有15min,刚打开题大概扫了一下,然后看时间发现只有14分多了,吓了一身冷汗。赶紧按照提前准备的写完了。 我没有处理exception,但hr反馈说Everything looks great。然后准备约电面。
有个class 是customer 有id 和 rating, input是一个 list of customer, 写了compareTo function, return double 是一个 median of rating.
大家好啊,刚刚做完yelp OA V7, 收到OA的时间是 4/15 题目: 给一个 bussinessInfo 的类,里面有id 和catagory, 是这样: class bussinessInfo{int id, String catagory}
输入: 101 japanese, sushi, resturant. 102 japanese, seafood 103 japanese, resturant, ramen . more info on 1point3acres.com 输出: 101, 103 即找出所有的id 即是 japanese 又是resturant
上周HR给发的OA5,今天晚上才有时间抽空做了一下. 地里面的资料都很详细了,OA分为两部分:1. 简答和选择:地里面的面经已经可以全部覆盖了,所以就不多说了。
- coding题:potential palindrome,之前地里面也有人提到过。由于是在hackerrank上做,需要自己写stdin和stdout.