关注
#include <iostream> int GetWater(int * pBoardHeight, int iLeft, int iRight); int main() { int i_test_count;//测试用例数 std::cin >> i_test_count; int * p_board_count = new int[i_test_count];//每个测试用例木板数数组 int ** p_board_height = new int *[i_test_count];//木板高度数组 for (int i = 0; i < i_test_count; i++) { std::cin >> p_board_count[i]; p_board_height[i] = new int[p_board_count[i]]; for (int j = 0; j < p_board_count[i]; j++) { std::cin >> p_board_height[i][j]; } } for (int i = 0; i < i_test_count; i++) { std::cout << GetWater(p_board_height[i], 0, p_board_count[i] - 1) << std::endl; } if (p_board_height) { for (int i = 0; i < i_test_count; i++) { if (p_board_height[i]) { delete[] p_board_height[i]; p_board_height[i] = NULL; } } } delete[] p_board_height; p_board_height = NULL; return 0; } int GetWater(int * pBoardHeight, int iLeft, int iRight) { int i_max_1 = 0; int i_max_1_index = 0; int i_max_2 = 0; int i_max_2_index = 0; for (int i = iLeft; i <= iRight; i++) { if (pBoardHeight[i] > i_max_1) { i_max_1 = pBoardHeight[i]; i_max_1_index = i; } } for (int i = iLeft; i <= iRight; i++) { if ( (pBoardHeight[i] > i_max_2 && pBoardHeight[i] != i_max_1) || (pBoardHeight[i] == i_max_1 && i != i_max_1_index) ) { i_max_2 = pBoardHeight[i]; i_max_2_index = i; } } int mid_1 = (i_max_1_index < i_max_2_index) ? i_max_1_index : i_max_2_index; int mid_2 = (i_max_2_index > i_max_1_index) ? i_max_2_index : i_max_1_index; int sum = (mid_2 - mid_1) * i_max_2; if (mid_2 < iRight) sum += GetWater(pBoardHeight, mid_2, iRight); if (mid_1 > iLeft) sum += GetWater(pBoardHeight, iLeft, mid_1); return sum; }
查看原帖
点赞 4
相关推荐
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
352411次浏览 7289人参与
# 你更愿意参加线上面试还是线下面试? #
4729次浏览 73人参与
# 晒一晒我的offer #
2766786次浏览 49498人参与
# 如何确定求职岗位 #
100979次浏览 2395人参与
# 华为求职进展汇总 #
433603次浏览 4353人参与
# 机械人怎么评价今年的华为 #
49360次浏览 404人参与
# 非技术岗薪资爆料 #
5049次浏览 115人参与
# 第一次面试 #
13855次浏览 212人参与
# 如果再来一次,你还会学硬件吗 #
16797次浏览 332人参与
# 海信求职进展汇总 #
6786次浏览 91人参与
# 通信硬件薪资爆料 #
137363次浏览 977人参与
# 来聊聊机械薪资天花板是哪家 #
18328次浏览 140人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
22084次浏览 212人参与
# 除了offer,现在你还缺点啥? #
2049次浏览 45人参与
# 应届生应该先就业还是先择业 #
10729次浏览 103人参与
# 通信硬件人笔面经互助 #
63644次浏览 1415人参与
# 百度工作体验 #
18998次浏览 205人参与
# 讲讲我经历过的年终奖 #
5814次浏览 76人参与
# 租房前辈的忠告 #
19772次浏览 1579人参与
# 软件开发薪资爆料 #
536126次浏览 9214人参与