演算法題 :比較重量
根據陣列構建一個有向無環圖(因為確保了資料可信,所以不會有環)。出度是從重到輕。然後如果能找到一條從g1到g2的路徑就認為g1重;如果找到從g2到g1的路徑就認為g2重;一條都找不到,就返回無法判斷。搜尋方法是dfs
相關推薦
演算法題 :比較重量
題目:小明陪小紅去看鑽石,他們從一堆鑽石中隨機抽取兩顆並比較她們的重量。這些鑽石的重量各不相同。在他們們比較了一段時間後,它們看中了兩顆鑽石g1和g2。現在請你根據之前比較的資訊判斷這兩顆鑽石的哪顆更重。給定兩顆鑽石的編號g1,g2,編號從1開始,同時給定關係陣列vector
演算法題:1的數目
給定一個十進位制正整數N,寫下從1開始,到N的所有正整數,然後數一下其中出現的所有“1”的個數。例如:N =12,我們會寫下1,2,3,4,5,6,7,8,9,10,11,12。這樣1出現的個數為5 java程式碼實現 public class demo1 { public st
演算法題:求N!末尾0的個數和求二進位制數中1的個數
1、給定一個整數,那麼N的階乘N!末尾有多少個0呢? 解題思路:N!=K*10^M,M的值即為N!末尾0的個數。又10^M=(2^M)*(5^M),因為一個數進行質因數分解後,2出現的概率比5大得多。所以只有計算出1到N包含多少個5的因子 public class demo2 {
演算法題:火車站
思路很簡單,如果出棧的元素存在於入站的佇列中但是該元素不是棧頂元素,那麼該出棧佇列不可能存在。 #include <iostream> using namespace std; int main() { int num; int n[100]; ci
一道簡單的演算法題:不借助第三變數來交換兩個變數的值
今天做筆試碰到一道簡單的演算法題:不借助第三變數來交換兩個變數的值,記錄一下。 交換兩個變數的值的普遍做法都是藉助第三變數,這樣具有較高的可讀性。 a = 3 b = 5 t = a a = b b = t 但是,如果記憶體有限,只允許用2個變數呢? 強大的CS當然有辦法解決
一道能做出來就腳踢BAT的高難度演算法題:在元素重複三次的陣列中查詢重複一次的元素
我們看一道難度很高的查詢類演算法題,如果你真能在一小時內給出正確的演算法和編碼,那麼你隨便在BAT開口年薪一百萬都不算過分。我們先看題目:給定一個數組,它裡面除了一個元素外,其他元素都重複了三次,要求在空間複雜度為O(1),時間複雜度為O(n)的約束下,查詢到只重複了一次的元素。 在
演算法題:A與B玩遊戲若干輪,獲勝方獲得該輪分數,已知結束後A,B得分,求A最少獲勝次數
描述 A與B玩遊戲若干輪,獲勝方獲得該輪分數,已知結束後A,B得分,求A最少獲勝次數。 例如:A第1輪獲勝則A加1分,B不得分,A第2輪獲勝則A加2分,B不得分,以此類推。遊戲結束A共x分,B共y分,求A在所有輪次比賽中獲勝最少次數。 輸入:A,B遊戲結束
演算法題:最長迴文子串(C#實現)
給定一個字串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度為 1000。 示例 1: 輸入: "babad" 輸出: "bab" 注意: "aba" 也是一個有效答案。 示例 2: 輸入: "cbbd" 輸出: "bb
藍橋杯演算法題:十六進位制轉8進位制
問題描述 給定n個十六進位制正整數,輸出它們對應的八進位制數。 輸入格式 輸入的第一行為一個正整數n (1<=n<=10)。 接下來n行,每行一個由09、大寫字母AF組成的字串,表示要轉換的十六進位制正整數,每個十六進位制數長度不超過10
演算法題:字母圖形
問題描述 利用字母可以組成一些美麗的圖形,下面給出了一個例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 這是一個5行7列的圖形,請找出這個圖形的規律,並輸出一個n行m列的圖形。 輸入格式 輸入一行,包含兩個整數n和m,分別
演算法題:假設一列火車一共經過10個車站,車站按順序為 A B C D E F G H I J ,編寫一個程式,自動計算剩餘的票
假設一列火車一共經過10個車站,車站按順序為 A B C D E F G H I J ,編寫一個程式,自動計算剩餘的票 要求:1 假設火車有100個座位 2.程式可以輸入購買車票的起始站與結束站 3.輸入後,程式輸出剩餘車票,
Google演算法題:M-求二叉搜尋樹的第K小的數
給出一個二叉搜尋樹,寫出一個方法,求出樹中的第k小的數 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode le
LeetCode演算法題:JAVA實現整數反轉reverse integer
題目來源:LeetCode Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, re
面試演算法題:求a+aa+aaa+aaaa+aa...a的值
題目 求s=a+aa+aaa+aaaa+aa…a的值,數字個數為n,其中a是一個數字。例如2+22+222+2222+22222(此時n=5) 思路 由於aa…a是一個整數,這樣基本排除要考慮越界問題,所以不用往大數方向考慮。 個位
每日一道演算法題:求數列的和
題目描述 數列的第一項為n,以後各項為前一項的平方根,求數列的前m項的和。 輸入描述: 輸入資料有多組,每組佔一行,由兩個整數n(n < 10000)和m(m < 1000)組成,n和m的含義如前所述。 輸出描述: 對於每組輸入資料,輸出該數列的和,每個測
經典演算法題:大資料處理常見演算法題
第一部分、十道海量資料處理 1、海量日誌資料,提取出某日訪問百度次數最多的那個IP。 此題,在我之前的一篇文章演算法裡頭有所提到,當時給出的方案是:IP的數目還是有限的,最多2^32個,所以可以考慮使用hash將ip直接存入記憶體,然後進行統計。 再詳細介紹下此方案:
Python3刷51nod演算法題:1995 三子棋
題目來源: syu校賽基準時間限制:1 秒 空間限制:131072 KB 分值: 0 難度:基礎題小的時候大家一定玩過“井”字棋吧。也就是在九宮格中,只要任意行、列,或者任意連續對角線上面出現三個相同的
java演算法題:只出現一次的數字
題目: 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,1
java演算法題:存在重複
題目: 給定一個整數陣列,判斷是否存在重複元素。 如果任何值在陣列中出現至少兩次,函式返回 true。如果陣列中每個元素都不相同,則返回 false。 示例 1: 輸入: [1,2,3,1] 輸出: true 示例 2: 輸入: [1,2,3,4] 輸出: false
java演算法題:買賣股票的最佳時機 II
題目: 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 設計一個演算法來計算你所能獲取的最大利潤。你可以儘可能地完成更多的交易(多次買賣一支股票)。 注意:你不能同時參與多筆交易(你必須在再次購買前出售掉之前的股票)。 示例 1: 輸入: [7,1,5,3,