題目:
給出 n 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 「金牌」,「銀牌」 和「 銅牌」("gold medal", "silver medal", "bronze medal")。
(注:分數越高的選手,排名越靠前。)
思路:拷貝乙份陣列,先排序,然後對數字前三個賦值字串,後面賦值對應的下標
/**
* @param nums
* @return
*/var findrelativeranks = function(nums) `);
}} return nums.map((i) => res.get(i));
};
題目:
對於乙個 正整數,如果它和除了它自身以外的所有正因子之和相等,我們稱它為「完美數」。
給定乙個 整數 n, 如果他是完美數,返回 true,否則返回 false
思路:乙個整數的最大因數是它的平方根向下取整,先取最大可能的因數,然後向下遍歷
/**
* @param num
* @return
*/var checkperfectnumber = function(num) else
}} return sum === num;
};
題目:斐波那契數,通常用f(n)
表示,形成的序列稱為斐波那契數列。該數列由0
和1
開始,後面的每一項數字都是前面兩項數字的和。也就是:
思路:沒啥說的。用快取或者迴圈都行
/**
* @param n
* @return
*/var fib = function(n) else if (n == 1)
let a = 0;
let b = 1;
for (let i = 2; i <= n; i++)
return b;
};
題目:
給定乙個單詞,你需要判斷單詞的大寫使用是否正確。
我們定義,在以下情況時,單詞的大寫用法是正確的:
全部字母都是大寫,比如"usa"。
單詞中所有字母都不是大寫,比如"leetcode"。
如果單詞不只含有乙個字母,只有首字母大寫, 比如 "google"。
否則,我們定義這個單詞沒有正確使用大寫字母。
思路:首先,如果第乙個字母是小寫,那麼只要後面的字母有大寫的,就返回false;
其次,如果第乙個字母是大寫,那麼後面的字母同時出現大寫和小寫,就返回false;
其他情況返回true
/**
* @param word
* @return
*/var detectcapitaluse = function(word)
} else else;
}} return true;
};
題目:給你一棵所有節點為非負值的二叉搜尋樹,請你計算樹中任意兩節點的差的絕對值的最小值。
思路:二叉搜尋樹的中序遍歷是公升序的,所以只要按照中序遍歷的方式,計算相鄰兩個數的最小絕對差就行了。遇到0就直接終止,一萬年0肯定是最小的
/**
* @param word
* @return
*/var detectcapitaluse = function(word)
} else else;
}} return true;
};
leetcode刷題記錄 1 簡單
題目 給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。說明 葉子節點是指沒有子節點的節點。param root return var binarytreepaths function root const res if root.left root.right binarytreepathsdee...
leetcode刷題記錄 7 簡單
題目 給定乙個非空的字串,判斷它是否可以由它的乙個子串重複多次構成。給定的字串只含有小寫英文本母,並且長度不超過10000。思路 可以遍歷從下標0到長度的一半,如果當前的長度除總長度的餘數為0,說明長度可以整除。然後重複這個字串到總長度,和原字串相比,如果相等,則滿足條件。如果到l 2還沒找到相等的...
leetcode刷題記錄 12 簡單
題目 給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。思路 遞迴比較。判斷兩顆樹是否有相同的結構,就是比較根節點的val值,如果相同,比較左右子樹的節點值。這樣就可以用遞迴...