嘔心瀝血演算法題——第一個數字
// 以下的靜態方法實現了:把串s中第一個出現的數字的值返回。 // 如果找不到數字,返回-1 // 例如: // s = "abc24us43" 則返回2 // s = "82445adb5" 則返回8 // s = "ab" 則返回-1 function firstNum(str) { let reg = /\d/; if (reg.test(str)) { let index = str.search(reg); return str.charAt(str.search(reg)); } else { return -1; } } console.log(firstNum("ab"));
相關推薦
嘔心瀝血演算法題——第一個數字
// 以下的靜態方法實現了:把串s中第一個出現的數字的值返回。 // 如果找不到數字,返回-1 // 例如: // s = "abc24us43" 則返回2 // s = "82445adb5" 則返回8 // s = "ab" 則返回-1 function firstNum(str)
演算法題/第一個只出現一次的字元
python2.7 在一個字串(1<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它 思路:用set統計不同字元,並計算不同字元出現的次數,如果某個字元出現次數是1,就返回。 class Solution:
【leetcode 簡單】 第七十五題 第一個錯誤的版本
nbsp 團隊 logs span 通過 bad log 是否 判斷 你是產品經理,目前正在帶領一個團隊開發新的產品。不幸的是,你的產品的最新版本沒有通過質量檢測。由於每個版本都是基於之前的版本開發的,所以錯誤的版本之後的所有版本都是錯的。 假設你有 n 個版本 [1,
插入排序:將一部分看成有序,一部分無序,無序的第一個數字與前面的交換,需要臨時變數temp來儲存無序的第一個
package com.interview.datastructure; public class SelectSort { public static void sort(int[] a) { if (a != null) { for (int i = 1; i
資料結構演算法題/兩個字串的最長公共子序列
一,問題描述 給定兩個字串,求解這兩個字串的最長公共子序列(Longest Common Sequence)。比如字串1:BDCABA;字串2:ABCBDAB 則這兩個字串的最長公共子序列長度為4,最長公共子序列是:BCBA 二,演算法求解 這是一個動態規劃的題目。
資料結構演算法題/兩個有序陣列的中位數
有三種方法,時間複雜度分別是O(m+n) ,O(k),O(log(m+n)) 注意點: 判斷合併後的陣列的元素個數是奇數還是偶數 如果是奇數取中間值;如果是偶數取中間2個數的平均值。 兩種求中位數的方法: (1)方法1,判斷奇數個還是偶數個 if (lengthall % 2 == 0)
LeetCode演算法題——兩個排序陣列的中位數
4.給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2 。 請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 O(log (m+n)) 。 你可以假設 nums1 和 nums2
資料結構演算法題/判斷一個數字是否是迴文數
題目大意 判斷一個數字是否是回訪字數,不要使用額外的空間。 解題思路 先逆序然後判斷是否相等 為了不使用額外的空間,參考了其它的解決,那些解法看起來在isPalindrome方法中沒有使用額外引數,但是卻使用了方法呼叫,這個比一個整數消耗的空間更多 ,並沒有達到題目的要求
嘔心瀝血演算法題——取球博弈
// 今盒子裡有n個小球,A、B兩人輪流從盒中取球,每個人都可以看到另一個人取了多少個, // 也可以看到盒中還剩下多少個,並且兩人都很聰明,不會做出錯誤的判斷。 // 我們約定: // 每個人從盒子中取出的球的數目必須是:1,3,7或者8個。 // 輪到某一方取球時不能棄權! // A先取球,
嘔心瀝血演算法題——最大子串
// 串“abcba”以字母“c”為中心左右對稱;串“abba”是另一種模式的左右對稱。 // 這兩種情況我們都稱這個串是映象串。特別地,只含有1個字母的串,可以看成是第一種模式的映象串。 // 一個串可以含有許多映象子串。我們的目標是求一個串的最大映象子串(最長的映象子串), // 如果有多個
嘔心瀝血演算法題——數量週期
// 複雜現象背後的推動力,可能是極其簡單的原理。科學的目標之一就是發現紛 // 繁複雜的自然現象背後的簡單法則。愛因斯坦的相對論是這方面的典範例證。 // 很早的時候,生物學家觀察某區域某種昆蟲的數量(稱為蟲口數)之逐年變化規律, // 就十分迷惑:有的時候是逐漸增多達到一個平衡值。有的時候在
嘔心瀝血演算法題——古代賭局
// 俗話說:十賭九輸。因為大多數賭局的背後都藏有陰謀。不過也不盡然,有些賭局背後藏有的是:“陽謀”。 // 有一種賭局是這樣的:桌子上放六個匣子,編號是1至6。多位參與者(以下稱玩家)可以把任意數量的錢押在某個編號的匣子上。 // 所有玩家都下注後,莊家同時擲出3個骰子(骰子上的數字都是1至6
嘔心瀝血演算法題——水仙花數
// 水仙花數(Narcissistic number) // 也被稱為超完全數字不變數(pluperfect digital invariant, PPDI)、自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong number) // 水仙花數是指一個 n 位數,它的每個位上的數字的
嘔心瀝血演算法題——放麥子
// 你一定聽說過這個故事。國王對發明國際象棋的大臣很佩服, // 問他要什麼報酬,大臣說:請在第1個棋盤格放1粒麥子, // 在第2個棋盤格放2粒麥子,在第3個棋盤格放4粒麥子, // 在第4個棋盤格放8粒麥子,......後一格的數字是前一格的兩倍, // 直到放完所有棋盤格(國際象棋共有6
嘔心瀝血演算法題——密碼發生器
// 在對銀行賬戶等重要許可權設定密碼的時候,我們常常遇到這樣的煩惱:如果為了好記用生日吧, // 容易被破解,不安全;如果設定不好記的密碼,又擔心自己也會忘記;如果寫在紙上,擔心紙張被別人發現或弄丟了... // 這個程式的任務就是把一串拼音字母轉換為6位數字(密碼)。 // 我們可以使用任何
嘔心瀝血演算法題——撲克牌排列
// 下面程式碼模擬了一套撲克牌(初始排序A~K,共13張)的操作過程。 // 操作過程是: // 手裡拿著這套撲克牌,從前面拿一張放在後面,再從前面拿一張放桌子上,再從前面拿一張放在後面,.... // 如此迴圈操作,直到剩下最後一張牌也放在桌子上。 // 下面程式碼的目的就是為了求出最後桌上
嘔心瀝血演算法題——猜算式
// 看下面的算式: // □□ x □□ = □□ x □□□ // 它表示:兩個兩位數相乘等於一個兩位數乘以一個三位數。 // 如果沒有限定條件,這樣的例子很多。 // 但目前的限定是:這9個方塊,表示1~9的9個數字,不包含0。 // 該算式中1至9的每個數字出現且只出現一次! // 比如
嘔心瀝血演算法題——串的處理
// 串的處理 // 在實際的開發工作中,對字串的處理是最常見的程式設計任務。 // 本題目即是要求程式對使用者輸入的串進行處理。具體規則如下: // 1. 把每個單詞的首字母變為大寫。 // 2. 把數字與字母之間用下劃線字元(_)分開,使得更清晰 // 3. 把
資料結構演算法題/兩個已排序陣列的交集和並集
兩個已排序陣列的交集和並集 問題: 給你兩個排序的陣列,求兩個陣列的交集。 比如: A = 1 3 4 5 7, B = 2 3 5 8 9, 那麼交集就是 3 5. 思路: 1. 每一次從B陣列中取一值,然後在A數組裡逐個比較,如果有相等的,則儲存。該演算法複雜度為 O(MN).
演算法題-兩個字串的最大公共子串
題目:給定一個query和一個text,均由小寫字母組成。要求在text中找出以同樣順序連續出現在query中最長連續字母序列的長度。例如,query為“acbac”,text為“acaccbabb”,那麼text中的“cba”為最長的連續出現在query中的字元序列,因此