[編程題] 調(diào)整隊(duì)形

在幼兒園有n個(gè)小朋友排列為一個(gè)隊(duì)伍,從左到右一個(gè)挨著一個(gè)編號(hào)為(0~n-1)。其中有一些是男生,有一些是女生,男生用'B'表示,女生用'G'表示。小朋友們都很頑皮,當(dāng)一個(gè)男生挨著的是女生的時(shí)候就會(huì)發(fā)生矛盾。作為幼兒園的老師,你需要讓男生挨著女生或者女生挨著男生的情況最少。你只能在原隊(duì)形上進(jìn)行調(diào)整,每次調(diào)整只能讓相鄰的兩個(gè)小朋友交換位置,現(xiàn)在需要盡快完成隊(duì)伍調(diào)整,你需要計(jì)算出最少需要調(diào)整多少次可以讓上述情況最少。例如:
GGBBG -> GGBGB -> GGGBB
這樣就使之前的兩處男女相鄰變?yōu)橐惶幭噜彛枰{(diào)整隊(duì)形2次
輸入描述:
輸入數(shù)據(jù)包括一個(gè)長(zhǎng)度為n且只包含G和B的字符串.n不超過(guò)50.

輸出描述:
輸出一個(gè)整數(shù),表示最少需要的調(diào)整隊(duì)伍的次數(shù)

輸入例子1:
GGBBG

輸出例子1:
2

代碼

import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNext()) {
            String s = in.next();
            System.out.println(solve(s));
        }
         
    }
     
    private static int solve(String s) {
         
        int toleft = 0;
        int toright = s.length()-1;
         
        int leftcost = 0;
        int rightcost = 0;
         
        for(int i=0;i<s.length();i++) {
            if(s.charAt(i) == 'B') {
                leftcost += i-toleft;
                toleft++;
                rightcost += toright - i;
                toright--;
            }
        }
         
        return Math.min(leftcost, rightcost);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 一、前言 如果一直有看我的每周面試題的童鞋們,應(yīng)該都知道,之前的面試題中很少或者說(shuō)基本沒(méi)有程序題,可是開(kāi)發(fā)崗位的面...
    GitHubClub閱讀 1,207評(píng)論 1 11
  • 問(wèn)題描述 在幼兒園有n個(gè)小朋友排列為一個(gè)隊(duì)伍,從左到右一個(gè)挨著一個(gè)編號(hào)為(0~n-1)。其中有一些是男生,有一些是...
    RobotBerry閱讀 504評(píng)論 0 0
  • 1.一種雙核CPU的兩個(gè)核能夠同時(shí)的處理任務(wù),現(xiàn)在有n個(gè)已知數(shù)據(jù)量的任務(wù)需要交給CPU處理,假設(shè)已知CPU的每個(gè)核...
    pretzei閱讀 1,038評(píng)論 0 0
  • 下完這場(chǎng)雨 我把你的名字變成詩(shī) 刻在心上
    伍月的晴空閱讀 167評(píng)論 5 3
  • 記憶中的生活 一想起家鄉(xiāng),夏橋似乎總能回想起秋天高粱葉子的香味,那是穿梭在高粱田里讓人沉醉的味道。 平時(shí)似乎沒(méi)什么...
    獨(dú)耳貓閱讀 142評(píng)論 0 1