Java經典算法:解碼方式

2021-01-10 Java從零開始

使用以下映射將包含來自AZ的字母的消息編碼為數字:

'A'->

1'B'-> 2

...

'Z'-> 26

給定包含數字的已編碼消息,請確定對其進行解碼的總數。

Java解決方案

通過使用動態編程可以解決此問題。這類似於計算爬樓梯方式的問題。關係是dp[n]=dp[n-1]+dp[n-2]。,下面是代碼:

publicintnumDecodings(String s) {

int[] dp = newint[s.length() + 1];

dp[0] = 1;

if(s.charAt(0) == '0') {

return0;

}

dp[1] = 1;

for(int i = 1; i < s.length(); i++) {

charc = s.charAt(i);

charp = s.charAt(i - 1);

if(c == '0' && (p == '0' || p > '2')) {

return0;

}

if(p == '0') {

dp[i + 1] = dp[i];

} elseif (p == '1') {

if(c == '0') {

dp[i + 1] = dp[i - 1];

} else {

dp[i + 1] = dp[i - 1] + dp[i];

}

} elseif (p == '2') {

} elseif (c <= '6') {

dp[i + 1] = dp[i] + dp[i - 1];

dp[i + 1] = dp[i];

} else {

returndp[s.length()];}

最後,開發這麼多年我也總結了一套學習Java的資料與面試題,如果你在技術上面想提升自己的話,可以關注我,私信發送領取資料或者在評論區留下自己的聯繫方式,有時間記得幫我點下轉發讓跟多的人看到哦。

相關焦點

  • 你了解java中的幾種編碼方式?解決亂碼問題可能並不麻煩
    由於之前就知道String中的轉換方式,還有一些工具類,因此今天就好好的整理一下java中jdk提供的幾種轉換方式,希望對你有幫助。一、編碼轉換原理1、為什麼需要編碼我們知道計算機存儲信息的最小單位是一個字節8位,能夠表示256個字符。這對於早起的英文來說足夠了。即使是加上一些常見符號也足夠。
  • 被壓縮的視覺:視頻編解碼技術
    文 | 何鳴 網易雲信音視頻算法工程師導讀:視覺是人類獲得信息的主要方式,每天有大量的視頻信息被生產並傳輸。未經壓縮的視頻內容佔用的存儲空間和傳輸帶寬十分巨大,以常見的30fps高清視頻為例,採用avi格式存儲的YUV420視頻流一分鐘就有2GB大小,傳輸帶寬需要40MB/s。
  • 史上最強:numpy 實現全部機器學習算法
    來源:SOTOM數據科學 來自於加州伯克利大學的David Bourgin 使用Numpy實現了幾乎全部的機器學習算法,真正實現了手擼ML的願景。多少「調包俠」的願望都被這位小哥實現了! 該項目超過3萬行代碼,除了算法本身,還有很多的數據預處理代碼!
  • 增城沿江西路大批老人購買「解碼資料」,背後的真相是...
    一些街坊買完「解碼資料」就悄悄藏起來,生怕別人偷窺到。而對於一些比較貴的資料,「資料員」會給購買者留下聯繫方式,表示現場沒聽懂的可以私下電話交流。    「資料員」一邊拿出往期中獎的「特碼」讓街坊看一邊介紹說,這本《六合天機指津》是香港賽馬會內部刊物,裡面有固定的公式和算法,每一期都「百分之百中獎」。
  • 程式設計師:java使用線程池和TCP實現簡單多輪聊天系統
    代碼實現服務端package com.tcp;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import
  • Java 9增強的自動資源管理
    fis.close(); } catch (IOException e) { e.printStackTrace(); } } }}Java 7 以前,上面程序中的 finally 代碼塊是不得不寫的「臃腫代碼」,為了解決這種問題,Java 7 增加了一個新特性,該特性提供了另外一種管理資源的方式
  • java_security_calendar_2019(day5-day8)
    簡介java_security_calendar_2019第5天-第8天的部份。分別為Dos(StringBuilder)、Dos(readAllBytes)、權限提升、未授權下載。Day5示例代碼:import javax.servlet.http.HttpServletRequest;import java.util.Enumeration;publicclassRequest{publicstatic String toString(HttpServletRequest req){ StringBuilder sb = new
  • java編程中'為了性能'一些儘量做到的地方
    - 3.儘量避免過多過常的創建java對象 儘量避免在經常調用的方法,循環中new對象,由於系統不僅要花費時間來創建對象,而且還要花時間對這些對象進行垃圾回收和處理,在我們可以控制的範圍內,最 大限度的重用對象,最好能用基本的數據類型或數組來替代對象。
  • 《算法》課件視頻以及第四版書籍,普林斯頓經典課程,附969頁pdf
    本課程涵蓋了每個專業程式設計師需要了解的關於算法和數據結構的基本信息,重點是應用程式和Java實現的科學性能分析。
  • Web安全:編解碼工具
    Web安全:編解碼工具 編碼是信息從一種形式轉換為另一種形式的過程,例如URL編碼、Base64編碼及十六進位編碼等。也指將編碼後的字符或者字符串還原為信息的過程,如解碼與編碼互逆。現在常用的編碼、解碼工具有XSSEncode、小葵多功能轉換工具等。
  • 易學、算法和底層邏輯
    這就像電腦硬體的升級,從最早的單片機到386電腦,再到搭配了雙核處理器的電腦,再到目前我們用的六核、八核電腦,工具不斷在改變,那麼驅動電腦運行的語言也從彙編語言變成了C語言,變成了C++,目前流行的Python語言,以及驅動安卓手機APP運行的java語言和驅動IOS手機系統APP的Object—C語言。
  • 了解算法的前世今生
    一、中國算法的前世中國古代數學是以創造算法特別是各種解方程的算法為主線。從線性方程組到高次多項式方程,乃至不定方程,中國古代數學家創造了一系列先進的算法(中國數學家稱之為「術」),他們用這些算法去求解相應類型的代數方程,從而解決導致這些方程的各種各樣的科學和實際問題。
  • 騰訊天衍實驗室奪世界機器人大賽雙冠軍 新算法突破BCI瓶頸
    針對運動想像腦電信號的時間差異性,騰訊天衍實驗室提出基於動態域自適應的深度腦電解碼模型  研究運動想像算法的騰訊天衍實驗室高級研究員柳露豔介紹,針對腦電信號數據差異大,且數據集樣本量少,而導致訓練困難及訓練模型泛化性能差等問題
  • 一把打開漢字書寫奧妙之門的鑰匙——楊景舒的《漢字書寫解碼》
    圍繞這一宗旨和目的,楊景舒使出了渾身解數,調動了所有與「規範」(美)有關的跨學科理論,從各個角度——漢字字源學、理工精準化思維,融合心理學、記憶學等實用性學科技術;書寫工具、形體演變、筆劃集萃、結構解析等等——闡釋漢字書寫規範的路徑、方式方法及其實現的可能和意義。在這繁複闡釋的過程中,我們領略了作者淵博的學術修養,同時領略了作者化繁為簡的藝術功力。
  • 如何處理Java中出現的異常?這九種方式值得一試!
    下面列出了 9 個比較重要的處理方式,可以幫你上手或者提升你的異常處理能力。  1、清理 Finally 塊中的資源,或使用 Try-With-Resource 語句  在 try 塊中使用資源時常發生,比如 InputStream ,是需要在用完之後關掉的。一個通常發生的錯誤是,在 try 塊的末尾關掉資源:
  • 全球主流社交媒體算法解析:Facebook、YouTube、Twitter如何利用...
    算法就像魔術一樣,當他們正在運行時,你完全無法識別他們。他們在你和你的任務之間悄無聲息地運作著。雖然聽起來很危險,但總的來說,算法可以為你提供幫助。社交媒體算法正在成為你所做的所有事情的核心。雖然算法經常錯誤地理解人類,出現不準確的情況,但是他們一直在學習。你,以及整個社會的新聞和信息消費方式可以直接歸因於算法。
  • 數字貨幣共識算法的優缺點分析
    在每一個偉大的數字貨幣背後,都有一個很好的共識算法。沒有一種共識算法是完美的,但它們都有各自的優點。在密碼術的世界裡,存在著防止雙倍支出的共識算法。這裡有一個到目前為止最流行的一些算法的快速概述,從區塊鏈到DAG和所有介於兩者之間的東西。
  • 從易經中淺談算法
    這種推演的方式,體現了宇宙的基本觀,互相聯繫,互相變幻。其推演豈不類似現在的「算法」,結果是由因子互相影響產生,怎麼影響即是算法,不誇張的說人也是算法的產物,而基因鏈即是產生人的算法。21世紀是算法的時代,將是是人類大量利用算法的時代。算法不單指怎麼算,包含因子,公式,原理。
  • 【健康解碼】中醫教你認識「六氣」
    【欄目簡介】        《健康解碼》是新華網大型原創健康科普視頻欄目。關注大眾保健意識,倡導健康智慧生活。欄目邀請各大三甲級醫院、權威機構專家錄製,從健康生活方式、疾病早診早治、養生誤區解讀、科學保健知識等多個角度進行系統解讀,輕鬆幽默,深入淺出。