当前位置:网站首页>649. Dota2 Senate
649. Dota2 Senate
2022-07-06 07:49:00 【Howi Zou】
Dota2 There are two camps in the world of :Radiant( Tianhui ) and Dire( Nightmares )
Dota2 The Senate is made up of senators from both sides . Now the Senate is hoping for a Dota2 Make decisions about changes in the game . They vote in a round based process . In each round , Every senator can exercise one of two rights :
Forbid the right of a Senator :
A senator can let another Senator lose all his rights in this and subsequent rounds .
Declare victory :
If senators find that all the senators who have the right to vote are in the same camp , He can declare victory and decide on changes in the game .
Given a string representing each Senator's camp . Letter “R” and “D” They represent Radiant( Tianhui ) and Dire( Nightmares ). then , If there is n A senator , The size of a given string will be n.
The round based process starts with the first senator in a given order and ends with the last senator . This process will continue until the end of the vote . All disenfranchised senators will be skipped in the process .
Suppose every senator is smart enough , Will make the best strategy for their party , You need to predict which side will eventually declare victory and be in Dota2 Decide to change... In the game . The output should be Radiant or Dire.
class Solution {
public String predictPartyVictory(String senate) {
Queue<Integer> R = new LinkedList<>();
Queue<Integer> D = new LinkedList<>();
for(int i = 0; i < senate.length(); i++){
if(senate.charAt(i) == 'R'){
R.add(i);
}else{
D.add(i);
}
}
while(!R.isEmpty() && !D.isEmpty()){
int r = R.poll();
int d = D.poll();
if(r < d){
R.add(r+senate.length());// This round is over , Tail insertion , Add to the next round (+senate.length())
}else{
D.add(d+senate.length());
}
}
return !R.isEmpty() ? "Radiant" : "Dire";
}
}
The core of this question is to kill the political enemy who is behind and closest to him , You can set up two queues , Let people from two different political parties i The team , Every time after cutting down the people of the other party , Line up and add the string length , Reentry team .
Final , The party whose queue is not empty wins .
边栏推荐
猜你喜欢
leecode-C語言實現-15. 三數之和------思路待改進版
octomap averageNodeColor函数说明
Opencv learning notes 8 -- answer sheet recognition
ROS learning (IX): referencing custom message types in header files
Generator Foundation
Interview Reply of Zhuhai Jinshan
软件测试界的三无简历,企业拿什么来招聘你,石沉大海的简历
Ali's redis interview question is too difficult, isn't it? I was pressed on the ground and rubbed
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
[computer skills]
随机推荐
Data governance: misunderstanding sorting
Methods for JS object to obtain attributes (. And [] methods)
Notes on software development
Pangolin Library: control panel, control components, shortcut key settings
C # create database connection object SQLite database
C # connect to SQLite database to read content
Méthode d'obtention des propriétés de l'objet JS (.Et [] méthodes)
Typescript interface and the use of generics
二叉树创建 & 遍历
Ali's redis interview question is too difficult, isn't it? I was pressed on the ground and rubbed
How to estimate the number of threads
xpath中的position()函数使用
Parameter self-tuning of relay feedback PID controller
opencv学习笔记八--答题卡识别
Redis builds clusters
数据治理:数据质量篇
Le chemin du navigateur Edge obtient
[nonlinear control theory]9_ A series of lectures on nonlinear control theory
js對象獲取屬性的方法(.和[]方式)
上线APS系统,破除物料采购计划与生产实际脱钩的难题