自己方便查阅同时熟悉Git的操作
备忘录
最长公共子序列八皇后问题dp
出栈次序
给定一个足够大的栈,进栈序列为1,2,3,…,n,求有多少个不同的出栈序列个数
Catalan number 套用通项公式即可,1, 2, 5, 14, 42, 132看到前面几个数是这个,也基本都是用 Catalan 通项公式可解。
给定一个数组。其中除了一个数字只出现了一次,其他数字都出现了四次。现在你需要把那个只出现了一次的数字找出来。
用HashMap 查看它出现了多少次,然后就可以筛选出来了
给定一个 n 个整数的序列,要求对其重新排序。排序要求:
奇数在前,偶数在后;
奇数按从大到小排序;
偶数按从小到大排序。
一开始想的用两个数组分别装奇数和偶数,遍历两次,一次从头开始,另一次从尾开始。最后想,只要打印出来就行了。
完整代码:https://github.com/blackyau/homework/blob/master/Special_order.java
get the number 逆序对
给你一组数据, 长度为n,求其中中逆序对有多少个
对于数列的第 i 个和第 j 个元素,如果满足 ia[j],则其为一个逆序对;否则不是。
暴力就完事儿
完整代码:https://github.com/blackyau/homework/blob/master/Reverse_pair.java
I want to be the first 排序
给定两个数字 n, m;
给你一组数据, 长度为n, 找出这组数据中第m大的数字
1≤n≤100000
1≤k≤n
就一个普通排序,我用的冒泡
给定两个数字n, m, 我们要求把m分成n份, 后一份必须大于等于前一份的一半
问: 第一份最大是多少
0