当前位置:网站首页>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 .
边栏推荐
- 23. Update data
- [CF Gym101196-I] Waif Until Dark 网络最大流
- Ble of Jerry [chapter]
- Scala语言学习-08-抽象类
- Scala language learning-08-abstract classes
- 智能终端设备加密防护的意义和措施
- 数字经济时代,如何保障安全?
- 二叉树创建 & 遍历
- 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
- C intercept string
猜你喜欢
继电反馈PID控制器参数自整定
QT color is converted to string and uint
Google may return to the Chinese market after the Spring Festival.
合规、高效,加快药企数字化转型,全新打造药企文档资源中心
jmeter性能测试步骤实战教程
Parameter self-tuning of relay feedback PID controller
TS 类型体操 之 循环中的键值判断,as 关键字使用
Leecode-c language implementation -15 Sum of three ----- ideas to be improved
【Redis】NoSQL数据库和redis简介
Document 2 Feb 12 16:54
随机推荐
Position() function in XPath uses
jmeter性能测试步骤实战教程
Cf1036c class numbers solution
http缓存,强制缓存,协商缓存
Qualitative risk analysis of Oracle project management system
Vit (vision transformer) principle and code elaboration
Typescript interface and the use of generics
TS 类型体操 之 循环中的键值判断,as 关键字使用
实现精细化生产, MES、APS、ERP必不可少
C # create database connection object SQLite database
Pangolin Library: control panel, control components, shortcut key settings
Fundamentals of C language 9: Functions
Solution: intelligent site intelligent inspection scheme video monitoring system
Leecode-c language implementation -15 Sum of three ----- ideas to be improved
Hackathon ifm
数据治理:误区梳理篇
洛谷P1836 数页码 题解
解决方案:智慧工地智能巡檢方案視頻監控系統
21. Delete data
[nonlinear control theory]9_ A series of lectures on nonlinear control theory