主頁 >  其他 > 騰訊筆試題20210321

騰訊筆試題20210321

2021-04-01 19:10:46 其他

一、鏈表樹

時間限制:C/C++ 1秒,其他語言 2秒
空間限制:C/C++ 262144K,其他語言 524288K
64bit IO Format: %lld

題目描述

在牛牛所在的世界,鏈表是一種二叉樹,
這是牛牛第一次見到鏈表樹,他感到十分好奇,他提出了若干個問題,每次詢問點x到根的路徑上所有點分別是什么,你需要按照深度從小到大給出,

本題為核心代碼模式,代碼框中預設代碼已經指定好類名、方法名、引數名,請勿修改或重新命名,直接回傳值即可,

輸入

{1, 2, 3, 4, 5, 6, 7}, [1, 2, 3, 4, 5, 6, 7]

輸出

[{1}, {1, 2}, {1, 3}, {1, 2, 4}, {1, 2, 5}, {1, 3, 6}, {1, 3, 7}]

說明

p1

點1到根的路徑上的個分別為{1}
點2到根的路徑上的個分別為{1, 2}
點3到根的路徑上的個分別為{1, 3}
點4到根的路徑上的個分別為{1, 2, 4}
點5到根的路徑上的個分別為{1, 2, 5}
點6到根的路徑上的個分別為{1, 3, 6}
點7到根的路徑上的個分別為{1, 3, 7}

備注

\(n\) 為樹的點數,保證樹的編號為 \(1\)~\(n\) 的整數且互不相同
\(m\) 為問題個數
\(2 <= n <= 10^3\)
\(0 <= m <= 10^3\)

代碼框預設代碼

/*
 * class ListNode {
 *     int val;
 *     ListNode next = null;
 *
 *     public ListNode(int val) {
 *         this.val = val;
 *     }
 * }
 * /
/* class TreeNode {
 *     int val = 0;
 *     TreeNode left = null;
 *     TreeNode right = null;
 *
 *     public TreeNode(int val) {
 *         this.val = val;
 *     }
 * }
*/

class Solution {
    /**
     * 代碼中的類名、方法名、引數名已經指定,請勿修改,直接回傳方法規定的值即可
     * 你需要回傳m個指標,第i個指標指向一條鏈,表示第i個問題的答案
     *
     * @param root TreeNode類 指向鏈表樹的根
     * @param b    int整型一維陣列 表示每個問題是什么
     * @return ListNode類一維陣列
     */
    public ListNode[] solve(TreeNode root, int[] b) {
        // write code here
    }
}

二、數字變換

時間限制:C/C++ 1秒,其他語言 2秒
空間限制:C/C++ 262144K,其他語言 524288K
64bit IO Format: %lld

題目描述

現在有一個數字 \(n\) ,你可以通過下面三種變換,使得這個數字變成 \(0\) ,現在想知道最少需要變換幾次
第一種變換:\(n = n - 1\)
第二種變換:若 \(n\) 是偶數,則 \(n = n / 2\)
第三種變換:若 \(n\)\(3\)的倍數,\(n = n / 3\).

本題為ACM模式,請通過代碼實作題目,程序中的輸入輸出請自行處理,處理方式參考題目輸入輸出描述或左側例題,

輸入描述

輸入第一行一個整數 \(T\) ,代表有 \(T\) 組測驗資料
接下來 \(T\) 行,每一行為一個整數 \(n\) ,代表要變換的數,
\(1 <= T <= 100,1 <= n <= 2*10^9\)

輸出描述

對于每組測驗資料,輸出一個答案代表最少需要變換的次數,

輸入

1
10

輸出

4

說明

先執行第一種變換變成 \(9\) ,執行第三種變換變成 \(3\),執行第三種變換變成 \(1\),最后執行第一種變換變成 \(0\)

三、小K的第K小元素

時間限制:C/C++ 1秒,其他語言 2秒
空間限制:C/C++ 262144K,其他語言 524288K
64bit IO Format: %lld

題目描述

\(K\)\(n\) 個陣列,并且他將陣列標號為 \(1\)~\(n\) ,每個陣列有若干個元素,現在他有 \(q\) 次詢問,每次詢問細節如下:

  • 首先給出一個整數 \(P\) ,之后跟著 \(P\) 個互不相同的陣列下標,最后給出一個整數 \(k\)
  • 你需要告訴小 \(K\) ,將這 \(P\) 個數合并起來后的第 \(k\) 小元素是多少,

本題為ACM模式,請通過代碼實作題目,程序中的輸入輸出請自行處理,處理方式參考題目輸入輸出描述或左側例題,

輸入描述

第一行包含一個正整數 \(n\) \((1<=n<=10^5)\),表示有 \(n\) 個陣列,
接下來 \(n\) 行,每一行包含:

第一個數首先給出一個正整數 \(m_i\) \((1<=m_i<=10^5)\) ,表示第 \(i\) 個陣列的長度,后面的 \(m_i\) 個正整數 \(a_{i,j}\) \((1<=a_{i,j}<=10^9)\) ,表示第 \(i\) 個陣列的第 \(j\) 個元素,
\(n+2\) 行包含一個正整數 \(q\) \((1<=q<=10^5)\) ,表示詢問的次數,

接下來 \(q\) 行,每一行包含:
首先給出一個正整數 \(p_i\) \((1<=p_i<=n)\) ,表示余姚合并的 \(p_i\) 個陣列得個數,
接下來 \(p_i\) 個正整數, \(b_{i,j}\) \((a<=b_{i,j}<=n)\) ,表示第 \(i\) 次詢問需要合并的第 \(j\) 個陣列下標,
接下來給出一個正整數 \(k_i\)\(k_i\) 比超過合并后陣列的大小,
資料保證陣列中元素總數小于等于 \(10^5\) ,詢問中的陣列下標總數小于等于 \(10^5\)

輸出描述

對于每一次詢問,都需要輸出一行包含一個正整數,表示合并后的陣列中的第 \(k\) 小元素,

輸入1

2
1 2
2 1 3
2
1 1 1
2 1 2 2

輸出1

2
2

說明1

第一行輸入為 \(n\) ,代表 \(2\) 個陣列
接了來 \(2\) 行表示有 \(2\) 個陣列,分別為陣列 \(1\) 和陣列 \(2\) ,陣列 \(1\) 的元素為 \(2\) ,陣列 \(2\) 的元素為 \(1\)\(3\)
接下來的 \(2\) 表示詢問 \(2\)
詢問第 \(1\) 次需要合并的陣列個數為 \(1\) 個,也就是不需要合并,選中的陣列為 \(1\) ,陣列 \(1\) 只有 \(1\) 個元素,是 \(2\) ,第 \(1\) 小的元素也就是 \(2\) ,輸出 \(2\)
詢問第 \(2\) 次需要合并的數字個數為 \(2\) 個,需要合并,選中的陣列為 \(1\)\(2\) ,陣列 \(1\) 和陣列 \(2\) 合并之后為: \([2, 1, 3]\) ,第 \(2\) 小的元素也是 \(2\) ,輸出 \(2\)

輸入2

5
1 1
2 2 3
3 5 10 6
4 4 58 2 1
5 1000000000 9 8 4 5
5
1 2 2
2 2 3 3
3 3 4 5 11
4 5 4 3 2 1
5 1 2 5 4 3 7

輸出2

3
5
58
1
4

說明2

第一次詢問,只包含第二個陣列,一共有 \(2\) 個數: \(2\)\(3\) ,第 \(2\) 小的元素為 \(3\)
第三次詢問,包含三個陣列:第三、第四和第五,一共有 \(12\) 個數,其中第 \(11\) 小的元素為 \(58\)

四、獎金發放

時間限制:C/C++ 1秒,其他語言 2秒
空間限制:C/C++ 262144K,其他語言 524288K
64bit IO Format: %lld

題目描述

某公司年終共拿出 \(w\) 元,用于發放獎金(不需要用完),公司共有 \(n\) 位員工(員工總數為奇數),每位員工貢獻不同,發放獎金少于 \(x_i\) 元會讓他自己不滿意,多余 \(y_i\) 元會讓其他員工不滿意,現在想提出一種獎金發放的方案,使得所有人都滿意,同時使得所有員工拿到獎金的中位數最大,求這個最大的中位數?

本題為ACM模式,請通過代碼實作題目,程序中的輸入輸出請自行處理,處理方式參考題目輸入輸出描述或左側例題,

輸入描述

第一行兩個正整數,員工數 \(n\) ,獎金總數 \(w\);接下來 \(n\) 行:
每行兩個正整數 ,每個人的獎金下限 \(x_i\) 、獎金上限 \(y_i\)

輸出描述

一個正整數,最大的獎金中位數,

輸入

3 20
8 10
1 4
7 9

輸出

9

說明

三人分別發放獎金 \(10\)\(1\)\(9\) 元,獎金中位數最大為 \(9\)

備注

\(1 <= n <= 10^5\)
\(1 <= w <= 10^14\)
\(1 <= x_i <= y_i <= 10^9\)
\(\sum^{}_{}{x_i} <= w <= \sum^{}_{}{y_i}\)

五、整數倍購物

時間限制:C/C++ 1秒,其他語言 2秒
空間限制:C/C++ 262144K,其他語言 524288K
64bit IO Format: %lld

題目描述

牛牛陪牛妹來到商場購物,許久沒有逛商場的牛妹像發了瘋似的挑選了起來,很快,牛妹挑選出了一共 \(n\) 件商品,為了方便區別,給其編號為 \(1, 2, …, n\) ,其中,第 \(i\) 件商品的價格為 \(w_i\)

牛牛一算總額,驚人地發現,這些東西太貴了,如果全部買下的話,自己的全部身家就沒了,于是,牛牛找了個借口說道:“今天銀行卡限額了,只能刷出整 \(m\) 倍數的金額,這些東西,可能……”

還沒等牛牛說完,牛妹就明白了牛牛的意思,于是,準備從這 \(n\) 件商品中挑選若干件,使其總額恰好為 \(m\) 的整倍數,

牛牛在一旁盤算著,如果牛妹足夠聰明,在滿足 \(m\) 的整倍數的條件下,她會挑出最大的商品總金額,

所以請你告訴牛牛,最壞的情況下,這次購物之后,他的全部身家還能剩下多少,

本題為ACM模式,請通過代碼實作題目,程序中的輸入輸出請自行處理,處理方式參考題目輸入輸出描述或左側例題,

輸入描述

第一行輸入一個正整數 \(T\) \((1 <= T <= 10^5)\),代表測驗資料的組數,

對于每組測驗資料,第一次輸入一個正整數 \(n, m\) (\(1 <= n <= 10^5\)\(1<= m <= 100\)) ,依次代表牛妹第一次挑出的商品數量,以及牛牛編造的整 \(m\) 倍數金額,

題目保證,所有測驗資料的 \(n\) 之和不會超過 \(10^6\).

輸出描述

對于每組測驗資料,一行輸出一個整數代表答案,

輸入

2
3 3
3 6 9
3 5
9 6 3

輸出

0
3

說明

第一組測驗資料中,\(3 + 6 + 9 = 18\) ,是 \(3\) 的倍數,所以恰好花光牛牛的全部身家,

第二組測驗資料中,要求總金額是 \(5\) 的備注,顯然,對牛妹來說,最高花費的組合為 \(9 + 6 = 15\) ,此時,牛牛的全部身家還剩下 \(3\) .

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/270764.html

標籤:其他

上一篇:N皇后求解。萬萬沒想到,只用一個一維陣列就搞定了。還體現了回溯。

下一篇:Schemer遞回

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more