我做出1,3题。
第二题python不太熟悉。
第4题有 O(nlogN) 的思路,但是没时间写了没写完....
拿unordered_map<int, deque<int>> ansMap 存一下第一个序列的数,后边存该数字后最长的序列。
unordered_map<int, int> valToIndexMap 存第二个序列值和索引,输入值就得到索引。
从后往前遍历第一个序列,作为头节点。
然后从头节点开始往后遍历下一个节点,只要b序列相同元素的索引比 ansMap[i] 尾部的索引大,就存进结果序列ansMap。
遍历完就已经找到了最长的序列,但是找字典序最大的两行排序没写完...a
思路就是如果比较发现一样长,就拿这个元素跟第一个序列对应索引的值比,删掉小的推入大的。