日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 43字符串相乘44通配符匹配

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 43字符串相乘44通配符匹配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原創公眾號:bigsai,回復進群加入力扣打卡群。

字符串相乘

題目描述:

給定兩個以字符串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字符串形式。

示例 1:
輸入: num1 = “2”, num2 = “3”
輸出: “6”
示例 2:
輸入: num1 = “123”, num2 = “456”
輸出: “56088”
說明:
num1 和 num2 的長度小于110。
num1 和 num2 只包含數字 0-9。
num1 和 num2 均不以零開頭,除非是數字 0 本身。
不能使用任何標準庫的大數類型(比如 BigInteger)或直接將輸入轉換為整數來處理。

不允許我們使用BigInteger,肯定無法使用常規類型去解決問題了。對應也要使用其他方法去解決問題。

怎么處理我們需要分析這個乘法的底層邏輯到底是怎么樣的。

這樣看這張圖,其算法邏輯應該很清晰了,所以我們在具體處理的時候就用一個int數組用來表示對應位數乘積的值,最后從個位向上進位只保留各位就可以。

你可能會疑問,如果兩個數組的長度分別為a和b這個數組到底該開多大呢

  • a+b大小就夠了,怎么分析呢?其中一個a不變。另一個b變成最小b+1數字即十的倍數,那么這樣在相乘的時候也不過是a+b長度,所以這里a+b長度就夠了。

ac的代碼為:

public String multiply(String num1, String num2) {if("0".equals(num1)||"0".equals(num2))return "0";char a[]=num1.toCharArray();char b[]=num2.toCharArray();int value[]=new int[a.length+b.length];for(int i=a.length-1;i>=0;i--){for(int j=b.length-1;j>=0;j--){int index=a.length-1-i+b.length-1-j;value[index]+=(a[i]-'0')*(b[j]-'0');}}//System.out.println(Arrays.toString(a)+""+Arrays.toString(b)+" "+Arrays.toString(value));for(int i=0;i<value.length-1;i++){value[i+1]+=value[i]/10;value[i]=value[i]%10;}int index=value.length-1;while(value[index]==0){index--;}StringBuilder sBuilder=new StringBuilder();while (index>=0) {sBuilder.append(value[index--]);}return sBuilder.toString();}

通配符匹配


這題的話其實和前面的正則表達式很像,但是又略有區別。如果dp[i][j]表示匹配串前i個和模式串j個匹配情況(boolean類型)。核心的狀態轉移方程為:

dp[i][j]=dp[i-1][j-1] (s[i]==p[j]||p[j]=='?') dp[i][j]=dp[i][j-1]||dp[i-1][j] (p[j]=='*');

public boolean isMatch(String s, String p) {int slen=s.length();int plen=p.length();char p1[]=p.toCharArray();char s1[]=s.toCharArray();boolean dp[][]=new boolean[slen+1][plen+1];dp[0][0]=true;for(int i=0;i<plen;i++){if(p1[i]=='*'){dp[0][i+1]=true;}else break;}for(int j=1;j<=plen;j++)//遍歷模式串{for(int i=1;i<=slen;i++)//遍歷匹配串{//相等可以匹配if(p1[j-1]=='?'||s1[i-1]==p1[j-1])//當前單詞可以匹配{dp[i][j]=dp[i-1][j-1];}else if(p1[j-1]=='*')//可以匹配任意多個{dp[i][j]=dp[i][j-1]||dp[i-1][j];}}}//System.out.println(dp[s.length()][p.length()]);return dp[slen][plen];}


至于還有貪心算法和其他優化方案,今天就不更了,下次可能會補更。

本次就到這里啦,感覺不錯記得點贊或一鍵三連哦,個人公眾號:bigsai 回復 bigsai 更多精彩和資源與你分享。

總結

以上是生活随笔為你收集整理的LeetCode 43字符串相乘44通配符匹配的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人精品三级av在线看 | 香蕉视频国产 | 69精品国产 | 免费av一区二区三区 | 久久精品系列 | 国产99免费| 黄色一级免费大片 | 国产精品无码永久免费不卡 | 久久亚洲色图 | 99少妇| 快播日韩 | 日本成人中文字幕 | 波多野结衣影片 | 黑人精品一区二区三区 | 中文字幕亚洲精品在线 | 高清av一区二区三区 | www.天堂在线 | 国产精品成人一区二区网站软件 | 欧洲精品久久久 | www.777奇米 | 久久免费看片 | 精品国产91久久久久久 | 凹凸精品一区二区三区 | 丰满少妇一区二区 | 少妇无套高潮一二三区 | 日本福利社| 成人免费在线视频 | 亚洲免费高清视频 | 一级在线免费视频 | www色天使 | 涩涩视频在线播放 | 欧美在线免费观看视频 | 欧美亚洲综合久久 | 91日本在线| 国产成人在线免费观看视频 | 日韩欧美黄色网址 | 精品无码久久久久成人漫画 | 国产精品免费久久久 | 性欧美在线观看 | 韩国甜性涩爱 | 91久久精品国产91久久 | 综合久久久久 | 国产成人精品一区在线播放 | 国产精品国产一区二区 | 亚洲AV无码成人精品国产一区 | 麻豆传媒在线观看视频 | 欧美老女人视频 | 婷婷综合六月 | 亚洲精品国产suv | 涩涩视频免费观看 | 色婷婷久| av中文字幕一区二区三区 | 少妇献身老头系列 | 日韩中文字幕影院 | 国产三级中文字幕 | 18pao国产成视频永久免费 | 色天天综合 | 一级免费黄色 | 亚洲一区自拍 | 人妻夜夜爽天天爽 | 日韩精品免费播放 | 免费福利视频网站 | 黄色小视频免费 | 丁香六月激情综合 | 欧美日韩视频在线观看一区 | 黄91在线观看| 亚洲av永久无码精品一区二区国产 | 欧美成人黄色 | 97视频资源 | 97国产资源 | 久久久久国产精品夜夜夜夜夜 | 综合视频 | 成人激情免费 | 韩国三级在线 | 日韩欧美不卡视频 | 日韩欧美一区二区免费 | 性色av蜜臀av浪潮av老女人 | 少妇人妻一级a毛片 | 欧美精品中文 | 国产免费成人在线视频 | 一级色网站| 欧美国产91 | 夜色在线影院 | 久久久久人妻精品色欧美 | 自拍第一区 | 色网站在线 | 狠狠干精品 | 午夜电影在线播放 | 9人人澡人人爽人人精品 | 欧美视频一 | 亚色成人 | 91看片淫黄大片91桃色 | 最新中文字幕在线视频 | 国产精品成av人在线视午夜片 | 韩国国产在线 | 欧美做受高潮 | 91九色中文 | 亚洲国产成人精品久久久 | 经典三级第一页 |