4.14 排成一條線的紙牌博弈問題
【題目】:
給定一個整型陣列arr,代表數值不同的紙牌排成一條線。玩家A和玩家B依次拿走每張紙牌,規定玩家A先拿,玩家B後拿,但是每個玩家每次只能拿走最左或最右的紙牌,玩家A和玩家B都絕頂聰明。請返回最後獲勝者的分數
舉例:
arr=[1, 2, 100, 4]
開始時玩家A只能拿走1或4。如果玩家A拿走1,則排列變為[2, 100, 4],接下來玩家B可以拿走2或4,然後繼續輪到玩家A。如果開始時玩家A拿走4,則排列變為[1, 2, 100],接下來玩家B可以拿走1或100,然後繼續輪到玩家A。玩家A作為聰明絕頂的人不會先拿4,因為拿4之後,玩家B將拿走100。所以玩家A會先拿1,讓排列變為[2, 100, 4],接下來玩家B不管怎麼選,100都會被玩家A拿走。玩家A會獲勝,分數為101。所以返回101
arr=[1, 100, 2]
開始時玩家A不管拿1還是2,玩家B作為絕頂聰明的人,都會把100拿走。玩家B會獲勝,分數為100。所以返回100
題目來源:左程雲老師《程式設計師程式碼面試指南》
相關推薦
4.14 排成一條線的紙牌博弈問題
【題目】: 給定一個整型陣列arr,代表數值不同的紙牌排成一條線。玩家A和玩家B依次拿走每張紙牌,規定玩家A先拿,玩家B後拿,但是每個玩家每次只能拿走最左或最右的紙牌,玩家A和玩家B都絕頂聰明。請返回最後獲勝者的分數 舉例: arr=[1, 2, 100, 4] 開始時玩家A只
實現0.5px的一條線
red -s content absolut width tom -o 前綴 ont .box{ position: relative; } .box::after{ content: ‘‘; position: absolute; width: 200%
鼠標移到某個地方時,從左向右劃出一條線的動畫
spl near webkit forward line for solid linear clas .line { border-bottom: 2px solid #E40012; width:0px; display: inline-bloc
Qt的paint函數重寫,以及QPaint給一條線繪制箭頭
ons eal mark .net urn div stat class sdn 直接代碼: QPainter *painter; static const double Pi = 3.1415926535897932384626433832795
ECharts 多條座標軸軸線,合併為一條線
一、問題 2條y軸,y軸的座標軸軸線axisLine太多,擾人視線,如圖 二、經過 剛開始用分割線(yAxis.splitLine)做出來的這個效果。 後期,改為兩條線合併為一條。 網上找一個沒有關於splitLine的設定,查詢ECharts,發現一
img標籤下有一條線
img下面有一條線 之前再做一個需求的時候,是點選一個按鈕出彈出一個dialog,然後就是一張圖,但是不知道怎麼回事,怎麼調整,對話方塊下面總是有一條白色的線,或者說空白。網上查了好久,才找到解決方法。 圖已經找不到了,就直接說解決方法吧。 1.剛開始查到說是用font-si
計算機圖形學02一一OpenGL 程式碼實現繪製一條線
OpenGL 有一些自己的規則: 函式名的命名規範 是以gl開頭 之後每一組成詞的第一個字母大寫 例如glBegin , glCopyPixels 常量以GL開頭 後加_ 之後所以字母大寫 例如GL_2D , GL_RGB 資料型別它自帶了自己的資料型別 寫法 就是在我們之
svn+jenkins+maven+jboss打包釋出一條線流程
jenkins是一款持續整合工具,它可以做的事情很多,其中一個主要的功能就是簡化部署流程。 一、使用jenkins前後對比 1,對於以前釋出流程。 (1)本地把專案打包。 (2)通過工具,將
如何使用Global Mapper提取一條線的高程值
Global Mapper是一款地圖繪製軟體,不僅能夠將資料(例如:谷歌高程資料)顯示為光柵地圖、高程地圖、向量地圖,還可以對地圖作編輯、轉換、列印、記錄GPS及利用資料的GIS(地理資
C語言三字棋遊戲先簡單介紹一下三子棋的規則,方便我們接下來的程式設計和理解。規則如下: 在九宮格棋盤上,只要將自己的三個棋子走成一條線(橫、豎、對角線),對方就算輸了。
//判斷輸贏 char IsWin(char arr[ROW][COL], int row, int col) { int i; for (i = 0; i < row; i++) { if (arr[i][0] == arr[i][1] && arr[i][1] == arr
如何在HTML中畫一條線
3、align線段排列的設定: <HR width="50%" SIZE=5> 這是第一條線段,無ALIGN設定,(取內定值RIGHT顯示)<HR align=center width="60%" SIZE=7> 這是第二條線段,居中對齊<HR align=right w
max-points-on-a-line(求最多點數的一條線)
題目描述 Given n points on a 2D plane, find the maximum number of points that lie on the same straight l
iOS之旅--UILabel後邊出現一條線的解決辦法
UILabel 在label的周圍出現一條線,如圖: 原因:frame的寬高沒有取整,或者說上下左右邊沒有取整 解決方法:在取frame得時候,加上CGRectIntegral,使得寬、高得到一個整數,然後就完美的解決這個問題了 修改前:label.f
Unity 一條線在另一條線的投影
不知道,大家有沒有對 Unity的座標 和 向量的關係 產生 過疑問? 其實他的座標就是向量, 這張圖裡面就有四個點 Zero, P0,P1 和 P2, 他們的關係相信大家都知道, 三角型法則, 兩個向量相加等於 第三個向量。 所以 Vercter(Zer0, P0)
【unity實用技能】Unity畫一條帶箭頭的線
無提供函數方便使用 private void DrawArrow(Vector2 from, Vector2 to, Color color) { Handles.BeginGUI(); Handles.color = color; Handle
輸入一個正整數陣列,把數組裡所有數字拼接起來排成一個數, 列印能拼接出的所有數字的最小的一個。例如輸入{3,32,321,4},則列印最小的數字是 3213234
public class FandMax { public void makeMax(int[] nums){ boolean flag=true; for (int i = 0; i < nums.length; i++) { for (int j = 0; j <
app中畫一條細線
&:after{ content: ''; position: absolute; background-color: #ddd; display: block; z-index: 1; top: auto; position: relative; top: .1rem; width: 100%; h
WPF繪製一條不連續的線
WPF繪製一條不連續的線 繪製線應配合使用LineGeometry、GeometryGroup、System.Windows.Shapes.Path。核心流程是將各個LineGeometry新增到GeometryGroup中,然後通過Path.Data=group將之合併到一個Pat
mysql 如何用一條SQL將一張表裡的資料插入到另一張表 4個例子
1. 表結構完全一樣 insert into 表1 select * from 表2 2. 表結構不一樣(這種情況下得指定列名) insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表2 3、
一封發給全體 Linux 成員的內部信:Linux 4.14 重大改進!
作為長期支援版,Linux Kernel 4.14 的功能更新一直備受關注。近日,Linux Torvalds 的一封郵件對 Linux 4.14 的部分功能更新進行了解讀,或許你可以開始為這個版本做準備了,畢竟未來所有 Linux 開發者將與 4.14 版本度過很長一段時間。 一封發給全體Linu