前端演算法:計算小於非負數n的素數的數量
計算小於非負數n的素數的數量
例:
輸入: 10
輸出: 4
說明:有4個素數小於10,它們是2,3,5,7。
<script> var countPrimes = function(n) { let flagArray = [], result = 0; for(let i = 2; i < n; i++){ if(flagArray[i] === undefined){ flagArray[i] = 1; result++; let j = 2; while(i * j < n){// 將以後與當前值能整除的排除掉 flagArray[i * j] = 0; j++; } } } return result; }; console.log(countPrimes(10)); </script>
相關推薦
前端演算法:計算小於非負數n的素數的數量
計算小於非負數n的素數的數量 例: 輸入: 10 輸出: 4 說明:有4個素數小於10,它們是2,3,5,7。 <script> var countPrimes = function(n) { let flagArray = [],
前端演算法:給定一個數組,寫一個函式將所有0的移動到它的末尾,同時保持非零元素的相對順序(移動零)
給定一個數組nums,寫一個函式將所有0的移動到它的末尾,同時保持非零元素的相對順序。 例: 輸入: [0,1,0,3,12] 輸出: [1,3,12,0,0] 注意: 您必須在不製作陣列副本的情況下就地執行此操作。 最小化操作總數。 <script>
前端演算法:給定一個字串,找到它中的第一個非重複字元並返回它的索引
給定一個字串,找到它中的第一個非重複字元並返回它的索引。如果它不存在,則返回-1。 例子: s =‘leetcode’ 返回0。 s =‘loveleetcode’ 返回2。 注意:您可以假設該字串僅包含小寫字母。 <script> var
前端演算法:給定兩個陣列,編寫一個函式來計算它們的交集(兩個陣列的交叉點)
給定兩個陣列,編寫一個函式來計算它們的交集。 例1: 輸入: nums1 = [1,2,2,1],nums2 = [2,2] 輸出:[2,2] 例2: 輸入: nums1 = [4,9,5],nums2 = [9,4,9,8,4] 輸出:[4,9] 注意: 結果
Java架構-面試演算法:計算堆疊當前元素的最大值
有一道堆疊相關演算法題,我被面試過兩次以上,看似其在演算法面試中出現的概率很高,由此值得我們好好分析下。題目是這樣的: 對於堆疊的常用操作有, pop 彈出堆疊頂部的元素;push 向堆疊壓入一個元素;peek 獲得堆疊頂部的元素值,但不彈出堆疊。現在要去你增加一個操作max, 它的
前端演算法: 電話號碼的字母組合
給定一個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。 給出數字到字母的對映如下(與電話按鍵相同)。注意 1 不對應任何字母。 示例: 輸入:"23" 輸出:["ad", "ae", "af", "bd", "be", "bf
前端演算法:nim遊戲程式設計
你和你的朋友,兩個人一起玩 Nim遊戲:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最後一塊石頭的人就是獲勝者。你作為先手。 你們是聰明人,每一步都是最優解。 編寫一個函式,來判斷你是否可以在給定石頭數量的情況下贏得遊戲。 示例: 輸入: 4
前端演算法:用js實現楊輝三角(帕斯卡三角形)程式設計
楊輝三角,是二項式係數在三角形中的一種幾何排列,在中國南宋數學家楊輝1261年所著的《詳解九章演算法》一書中出現。 在歐洲,帕斯卡(1623-1662)在1654年發現這一規律,所以這個表又叫做帕斯卡三角形。 帕斯卡的發現比楊輝要遲393年,比賈憲遲600年。
前端演算法:設計演算法以找到最大利潤。您可以根據需要完成儘可能多的交易(即,多次買入並賣出一股股票)
假設您有一個數組,其中第i個元素是第i天給定股票的價格。 設計演算法以找到最大利潤。您可以根據需要完成儘可能多的交易(即,多次買入並賣出一股股票)。 注意:您不能同時進行多筆交易(即,您必須在再次購買之前賣出股票)。 例1: 輸入: [7,1,5,3,6,4]
前端演算法:羅馬數字變成阿拉伯數字 羅馬數字是由七個不同的符號來表示I,V,X,L,C,D和M
羅馬數字是由七個不同的符號來表示I,V,X,L,C,D和M。 鍵:值 I 1 V 5 X 10 L 50 C 100 D
前端演算法:給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數、判斷一個整數是否是迴文數
<!-- 給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例: 給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0] + nums[
前端演算法:由於只包含字元的字串'(',')','{','}','['和']',確定輸入字串是有效的
由於只包含字元的字串’(’,’)’,’{’,’}’,’[‘和’]’,確定輸入字串是有效的。 如果輸入字串有效: 必須使用相同型別的括號關閉左括號。 必須以正確的順序關閉左括號。 請注意,空字串也被視為有效。 例1: 輸入: “()” 輸出: true 例2:
BFPRT演算法:時間複雜度O(n)求第k小的數字(分治演算法+快排)
去年寫了一篇《分治演算法 求第 k k k小元素
演算法:計算十進位制數字在二進位制表示1的個數
題目一 計算十進位制數字在二進位制表示 1 的個數 舉個例子: 十進位制數字為 1 時,它的二進位制表示是 001,二進位制表示 1 的個數為 1; 十進位制數字為 2 時,它的二進位制表示是 010,二進位制表示 1 的個數為 1; 十進位制數字為 3 時,它的二進位制表示是 011,二進位制表示 1
代碼題(2)— 統計所有小於非負整數 n 的質數的數量
code 整數 color () res size result bool rime 質數也叫素數,只能被1和它本身整除的。 利用篩選法。 class Solution { public: int countPrimes(int n) {
[python]My Unique JsonDiff演算法——如何計算2個json串之間的差距並Diff出來(一):編輯距離(Levenshtein)演算法
啊啊,年底忙著簽證什麼的,好久沒寫日誌啦。。。。新年到來,整點乾貨出來給大家~~順便為自己考試和申請學校攢點人品~~ 之前實習的時候,因為實習公司的業務需求,需要一個比對json字串差異的演算法,然而我在網上查了很久的資料,發現竟然沒有現成
C語言,有N個硬幣面值為a[1]...a[N],給一個非負數m,用這些硬幣湊成m,求有多少種方法?
#include <stdio.h> #include <memory.h> #define N 1000 #define M 100000 int a[N]; int DP[M]; int dpItUnlimited(int m, i
非對稱加密演算法:實現ssh免密碼登入
**描述:利用非對稱加密演算法,實現兩臺主機之間可以免密碼直接登入 ,如下圖:** 整個實驗的原理如下圖: 具體步驟如下: 1、先準備好實驗需要的環境(兩臺虛擬機器–A:192.168.72.73,B:192.168.72.23),此時,我們遠端登入主機B,
小朋友學演算法(15):計算年份的天干地支
十天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸; 十二地支:子、醜、寅、卯、辰、巳、午、未、申、酉、戌、亥。 天干地支紀年法首先是天干在前,地支在後,比如今年2018就是戊戌年。 天干演算法: 4、5、6、7、8、9、0、1、2、3對應的十天干就是 甲、乙、丙、丁、戊、己、庚、辛
演算法設計——基姆拉爾森計算公式:計算幾月幾號是星期幾
基姆拉爾森計算公式 W=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7 其中,W表示算出的星期的數字表示:0:星期日;1:星期一…… d表示日期,m表示月份,y表示年份 程式碼實現 #include