摘要: 思路,找相同元素之前出现的位置,如果不存在,那么dp[j]=dp[j-1]+1 如果相同的元素存在,且不在dp[j-1]的那个长度内,那么dp[j]=dp[j-1]+1 否则,说明这个元素重复了,那就只能等于j-1,例子就是1,2,2,1,3,1里面的2,1,3,1;2,1,3是dp[j-1],然后 阅读全文
posted @ 2020-05-27 02:09 iamzhoug37 阅读(493) 评论(0) 推荐(0)
摘要: https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/ 基本思路就是4,3,2,5这个队里,如果5出现了,那么前面的数字的max就都是5了,所以维护一个双端队列把5出现后,前面的4个都清理掉 import java.util.Dequ 阅读全文
posted @ 2020-05-27 01:25 iamzhoug37 阅读(1023) 评论(0) 推荐(0)
摘要: 核心思想就是1对1消除,我和你不一样,那么我和你都消除,有点类似于猜拳,到最后我多,剩余的肯定是我的数字 https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/ cla 阅读全文
posted @ 2020-05-27 01:01 iamzhoug37 阅读(222) 评论(0) 推荐(0)
摘要: 核心思想是搞两个堆,然后让数字在里面流动,每个堆存放一半的数据,0~100的话,就是0~50在左边的堆,是一个大堆,而51~100则是在右边的堆,是一个小堆,然后当左边和右边数据一样多的时候,新的数据应该插入左边的堆,然后挤出一个左边的大数到右边,这样的话,奇数个数字的时候,右边堆顶就是中位数;如果 阅读全文
posted @ 2020-05-27 00:58 iamzhoug37 阅读(462) 评论(0) 推荐(0)