找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: cpcs
收起左侧

[精选面经题目] 面经上一个题及解法

[复制链接]

10

主题

0

精华

132

积分

资深会员

Rank: 2

积分
132
发表于 2-15-2016 10:40 PM | 显示全部楼层
大赞!!!

0

主题

0

精华

593

积分

超级会员

Rank: 4

积分
593
发表于 7-10-2016 10:52 PM | 显示全部楼层
巴克莱是那个银行吧

60

主题

1

精华

214

积分

高级会员

Rank: 3Rank: 3

积分
214
发表于 7-26-2016 10:23 PM | 显示全部楼层
Java Solution with two hashmap recording largest and smallest index for each unique number; h1 G: h3 G+ O: g- Q: u4 R2 N# m' ~
) {$ n5 ?% b  Q: E# l
         int maximumDistanceBetweenIndices(int[] nums) {
7 O! U& [& K* Y6 F7 K                Map<Integer, Integer> num2SmallestIdx = new HashMap<>();' o% k8 `$ @6 e% ]2 I
                Map<Integer, Integer> num2BiggestIdx = new HashMap<>();
1 ~% ^4 s: u4 M! Z3 M! R7 V6 T% K$ v                for(int i = 0; i< nums.length; i++) {" M* P. R0 M& i$ ]) N& i
                        num2SmallestIdx.put(nums【i】, Math.min(i, num2SmallestIdx.getOrDefault(nums【i】, Integer.MAX_VALUE)));
* B' m3 C$ z* b& W! w# Q4 ]; ^6 p                        num2BiggestIdx.put(nums【i】, Math.max(i, num2SmallestIdx.getOrDefault(nums【i】, Integer.MIN_VALUE)));
) x( o$ Z6 w  K, U1 ^) R0 Y                }' q  ?' ]% Z/ R9 B! y- B: f8 O: d
                # S) j& Q7 K+ r6 x1 `
                Arrays.sort(nums);' M4 y: [0 x* s; o2 k+ L
                int maxDistance = -1, lastBiggestIdx = Integer.MIN_VALUE, lastNum = Integer.MIN_VALUE;
) ^, X& X9 u/ o9 R- S  x                for(int i = nums.length - 1; i >=0; i--) {
3 H( @. `3 o" a# w( E" T) \# @                        if (lastNum == nums【i】) continue;
1 b% i4 |9 F9 z0 M! Q& }* U                        lastNum = nums【i】;+ v7 Y5 T, [+ K! i, r' f
                        int smallestIdx = num2SmallestIdx.get(nums【i】);+ @3 V7 [/ @4 N1 T
                        if (lastBiggestIdx >= 0) maxDistance = Math.max(maxDistance, Math.abs(lastBiggestIdx - smallestIdx));
2 A+ l9 `( W( P3 G                        lastBiggestIdx = num2BiggestIdx.get(nums【i】);! d& R1 X, x3 i* S5 [
                }               
0 F0 Q! j$ G' c. \' n8 L, t4 t; P$ c                return maxDistance;
6 {! Y/ y4 @# f4 Q+ Q3 v        }/ H8 U9 h# c! Y; \8 [
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表