无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

LeetCode 2134. Minimum Swaps to Group All 1's Together II

2023-04-23 17:00 作者:您是打尖兒還是住店呢  | 我要投稿

A?swap?is defined as taking two?distinct?positions in an array and swapping the values in them.

A?circular?array is defined as an array where we consider the?first?element and the?last?element to be?adjacent.

Given a?binary?circular?array?nums, return?the minimum number of swaps required to group all?1's present in the array together at?any location.

?

Example 1:

Input: nums = [0,1,0,1,1,0,0]

Output: 1

Explanation:?

Here are a few of the ways to group all the 1's together:?

[0,0,1,1,1,0,0] using 1 swap.?

[0,1,1,1,0,0,0] using 1 swap.?

[1,1,0,0,0,0,1] using 2 swaps (using the circular property of the array).?

There is no way to group all 1's together with 0 swaps.?

Thus, the minimum number of swaps required is 1.

Example 2:

Input: nums = [0,1,1,1,0,0,1,1,0]

Output: 2

Explanation: Here are a few of the ways to group all the 1's together:?

[1,1,1,0,0,0,0,1,1] using 2 swaps (using the circular property of the array).?

[1,1,1,1,1,0,0,0,0] using 2 swaps. There is no way to group all 1's together with 0 or 1 swaps. Thus, the minimum number of swaps required is 2.

Example 3:

Input: nums = [1,1,0,0,1]

Output: 0

Explanation: All the 1's are already grouped together due to the circular property of the array. Thus, the minimum number of swaps required is 0.

?

Constraints:

  • 1 <= nums.length <= 105

  • nums[i]?is either?0?or?1.

因?yàn)槭黔h(huán)形數(shù)組,所以只要判斷每個(gè)index開(kāi)始,內(nèi)部有多少個(gè)1就行,依次存儲(chǔ),最后返回sum-max即可;

題目不太難,但是跑出來(lái)時(shí)間太慢了,肯定還有更好的方法;

下面是代碼:

Runtime:?50 ms, faster than?5.12%?of?Java?online submissions for?Minimum Swaps to Group All 1's Together II.

Memory Usage:?61 MB, less than?5.12%?of?Java?online submissions for?Minimum Swaps to Group All 1's Together II.


LeetCode 2134. Minimum Swaps to Group All 1's Together II的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东台市| 清丰县| 会泽县| 荥阳市| 基隆市| 娱乐| 双鸭山市| 涪陵区| 马边| 容城县| 延庆县| 潜江市| 益阳市| 社旗县| 滨州市| 涞水县| 工布江达县| 板桥市| 增城市| 吕梁市| 隆尧县| 鄯善县| 资兴市| 任丘市| 锦屏县| 容城县| 平原县| 黄浦区| 平顶山市| 德钦县| 嵩明县| 龙游县| 黄平县| 朔州市| 始兴县| 安溪县| 赫章县| 永安市| 仙游县| 沂南县| 察哈|