1. 程式人生 > >騰訊校招筆試題之紙牌遊戲

騰訊校招筆試題之紙牌遊戲

題目

牛牛和羊羊正在玩一個紙牌遊戲。這個遊戲一共有n張紙牌, 第i張紙牌上寫著數字ai。
牛牛和羊羊輪流抽牌, 牛牛先抽, 每次抽牌他們可以從紙牌堆中任意選擇一張抽出, 直到紙牌被抽完。
他們的得分等於他們抽到的紙牌數字總和。
現在假設牛牛和羊羊都採用最優策略, 請你計算出遊戲結束後牛牛得分減去羊羊得分等於多少。

解法

#include<iostream>
#include<stdlib.h>
using namespace std;

void quickSort(int s[], int l, int r);

int main()
{
    int
n; cin >> n; int* nums = new int[n]; for (int i = 0; i<n; i++) { cin >> nums[i]; } quickSort(nums,0,n-1); int result = 0; int flag = 1; for (int i = n - 1; i >= 0; i--) { result += flag* nums[i]; flag = -flag; } cout
<< result << endl; return 0; } void quickSort(int s[], int l, int r) { if (l< r) { int i = l, j = r, x = s[l]; while (i < j) { while (i < j && s[j] >= x) // 從右向左找第一個小於x的數 j--; if (i < j) s[i++] = s[j]; while
(i < j && s[i]< x) // 從左向右找第一個大於等於x的數 i++; if (i < j) s[j--] = s[i]; } s[i] = x; quickSort(s, l, i - 1); // 遞迴呼叫 quickSort(s, i + 1, r); } }

相關推薦

試題紙牌遊戲

題目 牛牛和羊羊正在玩一個紙牌遊戲。這個遊戲一共有n張紙牌, 第i張紙牌上寫著數字ai。 牛牛和羊羊輪流抽牌, 牛牛先抽, 每次抽牌他們可以從紙牌堆中任意選擇一張抽出, 直到紙牌被抽完。 他們的得分等於他們抽到的紙牌數字總和。 現在假設牛牛和羊羊都採用最

試題小Q的歌單

題目 小Q的歌單 熱度指數:1624 時間限制:1秒 空間限制:32768K 小Q有X首長度為A的不同的歌和Y首長度為B的不同的歌,現在小Q想用這些歌組成一個總長度正好為K的歌單,每首歌最多隻能在歌單中出現一次,在不考慮歌單內歌曲的先後順序的情況下

2017試題編碼

java 筆試題 ACMDescription: 假定一種編碼的編碼範圍是a ~ y的25個字母,從1位到4位的編碼,如果我們把該編碼按字典序排序,形成一個數組如下: a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …,

2016年試題(研發崗)

最近網際網路筆試較頻繁,也跟著師兄一起做了一些公司的筆試題,先將題記錄下來吧,答案慢慢補。希望對自己明年找工作有幫助!首先上騰訊的筆試題,騰訊是我的dream offer啊啊啊啊啊啊啊! 一、不定

2014試題分析----資料結構篇(一套試題引發的血案)

一 不定項選擇題(共25題,每題4分,共100分,少選、錯選、多選均不得分) 1 已知一棵二叉樹,如果先序遍歷的節點順序是:ADCEFGHB,中序遍歷是:CDFEGHAB,則後序遍歷結果為:(D) A.CFHGEBDA   B.CDFEGHBA   C.FGHCDEB

程式設計題快遞分身術

題目描述 城市裡有3000條橫向的道路和3000條縱向的道路,分別從1開始編號知道3000,。相鄰兩條平行道路的間距為1。 我們用(x,y)表示第x號橫向道路和第y號縱向道路。N個需要送快遞的點坐落在這些交點上。小Q只能沿著這些道路送快遞,而且只能在道路的交叉點改變方向。

試題答案

1. #include <iostream> #include <string.h> using namespace std; char str[101]; int base[4]; int main() { while(cin>

2018軟件開發崗在線試題

def ping 靜態 題目 校招 最大堆 筆試 join 代碼 不定項選擇題(20道題): 1.SQL語句中,from,join,where,having,order by,group by,limit之間的執行順序是怎樣的? 2.inner join與left jo

2018秋試題小Q的歌單

題目描述: 小Q有X首長度為A的不同的歌和Y首長度為B的不同的歌,現在小Q想用這些歌組成一個總長度正好為K的歌單,每首歌最多隻能在歌單中出現一次,在不考慮歌單內歌曲的先後順序的情況下,請問有多少種組

[2017線上試題]

import java.util.ArrayList; import java.util.Scanner; public class Main { public static ArrayList<Integer> rst = new ArrayL

2017暑期實習生試題1

構造迴文給定一個字串s,你可以從中刪除一些字元,使得剩下的串是一個迴文串。如何刪除才能使得迴文串最長呢? 輸出需要刪除的字元個數。輸入描述:輸入資料有多組,每組包含一個字串s,且保證:1<=s.length<=1000. 輸出描述:對於每組資料,輸出一個整數,

2016試題(含答案)

騰訊2016校招筆試題(含答案) 1、父母生了兩個小孩。第一個是男孩,兩個都是男孩的概率是多少? 答案:1/2 解釋:第一個已經為男孩,第二個只有兩種可能男孩或女孩 概率=1乘二分之一 2、設k1,

15、2016研發崗試題(第二題)用Java實現

有下圖的題解,請用 C/C++ 程式碼來列出滿足下圖 0-100 內的所有答案。 分析: a1+a2-9=4 (1) a4-a5*a6=4 (2) a7+a8-a9=4 (3) a1+a4/a7=4 (4)

每日一題 演算法崗試題 (字串Hash)

####描述 給定A,B兩個字串,定義如下規則 對於每一個A的長度為k的不同子串,統計子串在B中出現的次數 A和B的字串係數就是所有出現次數之和。 如 A=“abab“ B = “ababab“ k

2018科大試題

原題如下: 爭吵 時間限制:C/C++語言 2000MS;其他語言 4000MS 記憶體限制:C/C++語言 65536KB;其他語言 589824KB 題目描述: 有 n 個人排成了一行佇列,每個人都有一個站立的方向:面向左或面向右。由於這 n 個人中每個人都很討厭其他的

2017前端面試題

騰訊面試據說有兩輪技術面和一輪hr面,有些面得早的面完一輪直接等下一輪。同時也有不少霸面的。 一面: 感覺騰訊前端面試好實在,問得非常細。 核心技術介紹,包括哪裡人、意向的工作地點、最滿意的專案或者工作經驗 最少的程式碼、最簡單思路手寫一

試題編程技巧總結

hid sca 筆試 result div else 總結 class ash 技巧一://統計字符串s1的頻率 String s1 = in.nextLine(); //統計字符串s1的頻率 for (char c1 : s1.toCharAr

1~n的全排列--閱文集團2018試題

put ron class 校招 next() tostring return bsp 輸出格式 題目大意:給定整數n,求出1~n的全排列 示例 輸入:n=3 輸出:[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] 1 im

2018 CVTE 前端試題整理

簡單的 三欄布局 位置 back 左右 blue color for循環 結果 昨天晚上(7.20)做了CVTE的前端筆試,總共三十道題,28道多選題,2道編程題 。做完了之後覺得自己基礎還是不夠紮實,故在此整理出答案,讓自己能從中得到收獲,同時給日後的同學一些參考。 首先

2017暑假試題-查詢二叉樹的根

/* 騰訊2017暑假筆試題-查詢二叉樹的根 對於一個高度為k的滿排序二叉樹,給定k和三個數, 找到這三個數的最小根節點 */ #include <iostream> #include <vector> #include <algorithm> u