二、对于海量数据,怎样存储,怎样排序,怎样搜索。
一代码:
import java.util.ArrayList;
import java.util.List;
public class MyTest {
/**
* @param args
*/
public static void main(String[] args) {
int[] prices = {5, 15, 25, 16,7, 17, 23, 49 };
List<Deal> dls = chooseDealTime(prices);
for (Deal dl : dls) {
System.out.println("buys at " + dl.getI() + ",sells at " + dl.getJ());
}
}
private static List<Deal> chooseDealTime(int[] prices) {
// int[] prices = {5, 15, 25, 16,7, 17, 23, 49};
int num = prices.length - 1;
int by = 0, sl = 0;
List<Deal> deals = new ArrayList<Deal>();
Deal deal = null;
for (int i = 0; i < num; i++) {
if (by == 0 && prices[i] < prices[i + 1]) {
by = i + 1;
continue;
}
if (by > 0) {
if (prices[i] > prices[i + 1]) {
sl = i + 1;
}
else if (i == num - 1) {
sl = i + 2;
}else{
continue;
}
deal = new Deal();
deal.setI(by);
deal.setJ(sl);
deals.add(deal);
by = 0;
sl = 0;
deal = null;
}
}
return deals;
}
}
class Deal {
int i, j;
int getI() {
return i;
}
void setI(int i) {
this.i = i;
}
int getJ() {
return j;
}
void setJ(int j) {
this.j = j;
}
}