- #刷题
问两道google的原题

254917
1. 给了一个array,该array满足heap quality,比如[20, 15, 19, 10, 11, 18, 16, 3, 5, 8, 9, 13, 14, 12, 11]就是相当于把一个heap按照level order trasveral排成数组。要求写一个函数找出里面的top K,不修改原数组,数组很大而K基本很小。
2. 给了n个骰子/色子,每个色子有f个面,点数从1,2,3...到f。所有色子视为identical/unique,问题是:投出n个色子最后点数和加起来等于s的情况分别有多少种。
第一题难道要新建一个priorityqueue然后按照求top k的方法做吗?感觉这样没意义,怎么用该array 满足 heap quality这个条件?
第二题完全没太懂,求大神解答
2. 给了n个骰子/色子,每个色子有f个面,点数从1,2,3...到f。所有色子视为identical/unique,问题是:投出n个色子最后点数和加起来等于s的情况分别有多少种。
第一题难道要新建一个priorityqueue然后按照求top k的方法做吗?感觉这样没意义,怎么用该array 满足 heap quality这个条件?
第二题完全没太懂,求大神解答