給你乙個整數 n 。按下述規則生成乙個長度為 n + 1 的陣列 nums :
nums[0] = 0
nums[1] = 1
當 2 <= 2 * i <= n 時,nums[2 * i] = nums[i]
當 2 <= 2 * i + 1 <= n 時,nums[2 * i + 1] = nums[i] + nums[i + 1]
返回生成陣列 nums 中的最大值。
示例 1:
輸入:n = 7
輸出:3
解釋:根據規則:
nums[0] = 0
nums[1] = 1
nums[(1 * 2) = 2] = nums[1] = 1
nums[(1 * 2) + 1 = 3] = nums[1] + nums[2] = 1 + 1 = 2
nums[(2 * 2) = 4] = nums[2] = 1
nums[(2 * 2) + 1 = 5] = nums[2] + nums[3] = 1 + 2 = 3
nums[(3 * 2) = 6] = nums[3] = 2
nums[(3 * 2) + 1 = 7] = nums[3] + nums[4] = 2 + 1 = 3
因此,nums = [0,1,1,2,1,3,2,3],最大值 3
示例 2:
輸入:n = 2
輸出:1
解釋:根據規則,nums[0]、nums[1] 和 nums[2] 之中的最大值是 1
示例 3:
輸入:n = 3
輸出:2
解釋:根據規則,nums[0]、nums[1]、nums[2] 和 nums[3] 之中的最大值是 2
class
solution
nums[0]
=0; nums[1]
=1;for
(int i =
2; i < nums.length; i++
)else
temp = math.
max(temp,nums[i]);
}return temp;
/*for(int i = 0;i < nums.length;i++)
if( i == 1)
if(i % 2 == 0 && i * 2 >= 2)
if(i % 2 == 1 && i * 2 + 1 >= 2)
}if(nums.length > 0)
return temp;*/
}}
1646 獲取生成陣列中的最大值(模擬)
1.問題描述 給你乙個整數 n 按下述規則生成乙個長度為 n 1 的陣列 nums nums 0 0 nums 1 1 當 2 2 i n 時,nums 2 i nums i 當 2 2 i 1 n 時,nums 2 i 1 nums i nums i 1 返回生成陣列 nums 中的最大值。示例 ...
獲得生成陣列中的最大值
leetcode 1646.獲得生成陣列中的最大值 給你乙個整數n。按下述規則生成乙個長度為n 1的陣列nums nums 0 0,nums 1 1。當2 2i n時,nums 2i nums i 當 2 2i 1 n時,nums 2i 1 nums i nums i 1 返回生成陣列nums中的最...
生成視窗最大值陣列
題目描述 有乙個整型陣列arr和乙個大小為w的視窗從陣列的最左邊滑到最右邊,視窗每次向右邊滑乙個位置,求每一種視窗狀態下的最大值。如果陣列長度為n,視窗大小為w,則一共產生n w 1個視窗的最大值 輸入描述 第一行輸入n和w,分別代表陣列長度和視窗大小 第二行輸入n個整數x,表示陣列中的各個元素 輸...