由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 面试问题求教
相关主题
Leetcode书中missing range一题的答案是不是错的?A面经
问道amazon的面试题SQL 面试题,请高手指点
请教一个数组题来做道题!
再问个算法题……求教一道ms的题目
帮人发推特家电面面经LCA of binary tree的一行CODE不懂。。leetcode上的,请牛牛指教,
ihas1337一道题没看懂水果电面问题 hashmap 用 sperate chaining 时, array size不够怎么办
问个amazon面试题。问道题的解题思路
问一个老数组题问一个java的函数调用问题
相关话题的讨论汇总
话题: maxdiff话题: lst话题: prev话题: curdiff话题: md
进入JobHunting版参与讨论
1 (共1页)
o**********a
发帖数: 330
1
a,2
b,3
a,34
a,3
b,8
c,3
a,123
b,6
如何找出同一个字母里面的,最大连续差值.如果只有一个记录,最大连续差值=0
输出像这样:
a,120
b,5
c,0
多谢
t****d
发帖数: 423
2
HashMap, 里面存 character 和int[2] 用来track min and max

★ 发自iPhone App: ChineseWeb 7.8

【在 o**********a 的大作中提到】
: a,2
: b,3
: a,34
: a,3
: b,8
: c,3
: a,123
: b,6
: 如何找出同一个字母里面的,最大连续差值.如果只有一个记录,最大连续差值=0
: 输出像这样:

r*******e
发帖数: 7583
3
最大连续差值,int[2]存lastValue和currMax吧

【在 t****d 的大作中提到】
: HashMap, 里面存 character 和int[2] 用来track min and max
:
: ★ 发自iPhone App: ChineseWeb 7.8

r**h
发帖数: 1288
4
如果每个子序列都是递增的话,用一个数组来存某个字母前一个数值,第二个数组来存
该字符表示的子序列的差的最大值就好了

【在 o**********a 的大作中提到】
: a,2
: b,3
: a,34
: a,3
: b,8
: c,3
: a,123
: b,6
: 如何找出同一个字母里面的,最大连续差值.如果只有一个记录,最大连续差值=0
: 输出像这样:

o**********a
发帖数: 330
5
能给个简单的code提示吗
我没有太看懂

【在 r**h 的大作中提到】
: 如果每个子序列都是递增的话,用一个数组来存某个字母前一个数值,第二个数组来存
: 该字符表示的子序列的差的最大值就好了

r**h
发帖数: 1288
6
lst = [('a',2), ('b',3), ('a',34), ('a',3), ('b',8), ('c',3), ('a',123), ('b
',6)]
def getMaxDiff(lst):
prev, maxDiff = {}, {}
for t in lst:
if t[0] not in prev.keys():
prev[t[0]] = t[1]
maxDiff[t[0]] = 0
else:
curDiff = t[1] - prev[t[0]]
if curDiff > maxDiff[t[0]]:
maxDiff[t[0]] = curDiff
prev[t[0]] = t[1]
return maxDiff

md = getMaxDiff(lst)
print(lst)
print(md)
输入:
[('a', 2), ('b', 3), ('a', 34), ('a', 3), ('b', 8), ('c', 3), ('a', 123), ('
b', 6)]
输出:
{'a': 120, 'c': 0, 'b': 5}
这里prev和maxDiff都是Python的dictionary类型,相当于hashmap

【在 o**********a 的大作中提到】
: 能给个简单的code提示吗
: 我没有太看懂

o**********a
发帖数: 330
7
如果有c++版本的就好了,

'b

【在 r**h 的大作中提到】
: lst = [('a',2), ('b',3), ('a',34), ('a',3), ('b',8), ('c',3), ('a',123), ('b
: ',6)]
: def getMaxDiff(lst):
: prev, maxDiff = {}, {}
: for t in lst:
: if t[0] not in prev.keys():
: prev[t[0]] = t[1]
: maxDiff[t[0]] = 0
: else:
: curDiff = t[1] - prev[t[0]]

t****a
发帖数: 1212
8
Functional programming 版本的
(def x [["a" 2]
["b" 3]
["a" 34]
["a" 3]
["b" 8]
["c" 3]
["a" 123]
["b" 6]])
(defn abs [x]
(if (< x 0)
(- x)
x))
(defn max-delta
([[x & xs] md]
(if (empty? xs)
md
(let [y (first xs)
d (abs (- y x))]
(recur xs (max md d)))))
([s] (max-delta s 0)))
(let [g (group-by first x)]
(zipmap (keys g) (for [v (vals g)]
(max-delta (map second v)))))
;; output: {"c" 0, "b" 5, "a" 120}
a*****a
发帖数: 46
9
子序列是指某个字母对应的序列么?那例子里的子序列不是sorted的啊
('a',2), ('a',34), ('a',3), ('a',123)

'b

【在 r**h 的大作中提到】
: lst = [('a',2), ('b',3), ('a',34), ('a',3), ('b',8), ('c',3), ('a',123), ('b
: ',6)]
: def getMaxDiff(lst):
: prev, maxDiff = {}, {}
: for t in lst:
: if t[0] not in prev.keys():
: prev[t[0]] = t[1]
: maxDiff[t[0]] = 0
: else:
: curDiff = t[1] - prev[t[0]]

1 (共1页)
进入JobHunting版参与讨论
相关主题
问一个java的函数调用问题帮人发推特家电面面经
问个 matrix 的问题 (CS)ihas1337一道题没看懂
请教一道算法题问个amazon面试题。
算法:按照字典序求第k个排列数问一个老数组题
Leetcode书中missing range一题的答案是不是错的?A面经
问道amazon的面试题SQL 面试题,请高手指点
请教一个数组题来做道题!
再问个算法题……求教一道ms的题目
相关话题的讨论汇总
话题: maxdiff话题: lst话题: prev话题: curdiff话题: md