leetcode842. 將數組拆分成斐波那契序列(回溯)

給定一個數字字符串 S,比如 S = “123456579”,我們可以將它分成斐波那契式的序列 [123, 456, 579]。

形式上,斐波那契式序列是一個非負整數列表 F,且滿足:

0 <= F[i] <= 2^31 - 1,(也就是說,每個整數都符合 32 位有符號整數類型);
F.length >= 3;
對于所有的0 <= i < F.length - 2,都有 F[i] + F[i+1] = F[i+2] 成立。
另外,請注意,將字符串拆分成小塊時,每個塊的數字一定不要以零開頭,除非這個塊是數字 0 本身。

返回從 S 拆分出來的任意一組斐波那契式的序列塊,如果不能拆分則返回 []。

示例 1:

輸入:“123456579”
輸出:[123,456,579]

代碼

class Solution {public List<Integer> splitIntoFibonacci(String S) {split(S,0,new ArrayList<>());return total==null?new ArrayList<>():total;}ArrayList<Integer> total;boolean flag=false;public void split(String S,int pos,List<Integer> list) {if(flag) return;//已經找到了if(list.size()>2&&pos==S.length())//遍歷完了{flag=true;total=new ArrayList<>(list);return;}for(int len=1;len+pos<=S.length()&&len<11;len++){String sub=S.substring(pos,pos+len);if(len>1&&sub.charAt(0)=='0') break;//第一位是0long temp=Long.parseLong(sub);if(temp>Integer.MAX_VALUE) break;//已經溢出了if(list.size()<2||list.get(list.size()-1)+list.get(list.size()-2)==temp)//滿足條件{list.add((int)temp);split(S,pos+len,list);list.remove(list.size()-1);//回溯}}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393861.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

react fiber_讓我們愛上React Fiber

react fiberby Ryan Yurkanin瑞安尤卡寧(Ryan Yurkanin) 讓我們愛上React Fiber (Let’s fall in love with React Fiber) TLDR, React Fiber is an internal engine change that allows React to break the limits of the call stack. It’s creation enables React to pause…

Ajax爬取豆瓣電影目錄(Python)

下面的分析相當于一個框架&#xff0c;搞懂之后&#xff0c;對于類似的文字爬取&#xff0c;我們也可以實現。就算不能使用Ajax方法&#xff0c;我們也能夠使用相同思想去爬取我們想要的數據。 豆瓣電影排行榜分析 網址&#xff1a;https://movie.douban.com/explore#!typemovi…

到底死不死我就請了七天假_“你到底死不死?我只請了7天假”

這兩天看到一條令人心酸的新聞&#xff0c;在國內某地鐵站內&#xff0c;一位57歲的大媽突發心臟病&#xff0c;被緊急救醒后&#xff0c;第一句話竟是請求工作人員不要打電話通知她遠在德國的兒子。看完這條新聞&#xff0c;掌柜特別心酸&#xff0c;孤身一人在國內&#xff0…

正面管教PHP沙龍,正面管教沙龍體會

接觸到正面管教這個理念是我們南寧行動派伙伴圈 的圈主西西給大家帶來的分享&#xff0c;謝謝西西[愛你]圖片發自簡書App同時也很感謝親切溫柔&#xff0c;知性優雅的Liliane老師&#xff0c;讓我明白表揚和鼓勵的區別&#xff0c;非暴力教育……教書育人這個道路上我需要學習的…

FB面經Prepare: Dot Product

Conduct Dot Product of two large Vectors 1. two pointers 2. hashmap 3. 如果沒有額外空間&#xff0c;如果一個很大&#xff0c;一個很小&#xff0c;適合scan小的&#xff0c;并且在大的里面做binary search 1 package fb;2 3 public class DotProduct {4 5 publi…

leetcode1291. 順次數(回溯)

我們定義「順次數」為&#xff1a;每一位上的數字都比前一位上的數字大 1 的整數。 請你返回由 [low, high] 范圍內所有順次數組成的 有序 列表&#xff08;從小到大排序&#xff09;。 示例 1&#xff1a; 輸出&#xff1a;low 100, high 300 輸出&#xff1a;[123,234] …

20175223 MySQL

目錄 完成結果要求 1 &#xff1a;導入world.sql要求 2 &#xff1a;CityWanna.javaCityWanna.java要求 3 &#xff1a;CountryWanna.javaCountryWanna.java要求 4 &#xff1a;LifeWanna.javaLifeWanna.java過程中問題及解決1. XAMPP無法啟用 MySQL 程序。目錄 完成結果 要求 …

2020運動相機推薦_2020年超有價值入門級微單相機推薦,超高性價比幾款入門級微單相機(選購指南)...

學習攝影專業已經3年多啦&#xff0c;自己喜歡拍攝照片&#xff0c;自己還幫助過一些想學習攝影的朋友快速入門&#xff0c;最近發現周圍學習攝影的朋友也越來越多了&#xff0c;有一些朋友咨詢關于入門微單相機的問題&#xff0c;想讓推薦幾款不錯的入門的微單相機。這篇文章帶…

javascript入門_JavaScript代理快速入門

javascript入門What is a JavaScript proxy? you might ask. It is one of the features that shipped with ES6. Sadly, it seems not to be widely used.什么是JavaScript代理&#xff1f; 你可能會問。 這是ES6附帶的功能之一。 可悲的是&#xff0c;它似乎并未得到廣泛使用…

linux缺少文件操作數,linux 文件的atime,ctime,mtime查看與修改

查看ls -a默認顯示的是修改時間ls -c / --timestatus / --timectime顯示的是狀態修改時間(即權限修改時間)ls -u / --timeuse / --timeaccess / --timeatime表示的是文件訪問時間修改touch: 缺少了文件操作數請嘗試執行“touch --help”來獲取更多信息。[weilocalhost ~]$ touc…

leetcode47. 全排列 II(回溯)

給定一個可包含重復數字的序列&#xff0c;返回所有不重復的全排列。 示例: 輸入: [1,1,2] 輸出: [ [1,1,2], [1,2,1], [2,1,1] ] 代碼 class Solution {List<List<Integer>> cListnew ArrayList<>();public List<List<Integer>> permuteUni…

linux 磁盤查看方式

fdisk (查看物理磁盤大小) df (查看文件系統&#xff0c;也就是正在使用磁盤大小) lsblk (查看邏輯磁盤大小)轉載于:https://www.cnblogs.com/MUQINGFENG123/p/10820345.html

ioslabel陰影,UILabel的內陰影

is it possible to create such a UILabel with inner and outer shadow?i only know shadowColor and shadowOffsetzoomed:thanks!解決方案The answer by dmaclach is only suitable for shapes that can easily be inverted. My solution is a custom view that works with …

Webpack初學者介紹

Webpack is a tool that lets you compile JavaScript modules. It’s also known as a module bundler.Webpack是使您可以編譯JavaScript模塊的工具。 也稱為模塊捆綁器 。 Given a large number of files, it generates a single file (or a few files) that run your app.給…

Android Coding利器之掌握小技巧,助你Coding更上一層樓~

本文講的是Android Coding利器之掌握小技巧&#xff0c;助你Coding更上一層樓~&#xff0c;話說前幾天在網上瀏覽到一大牛寫的關于Android布局優化的文章&#xff0c;看后感觸很深&#xff0c;回過頭看看自己寫過的代碼&#xff0c;發現還是有不少需要改進&#xff0c;今天找不…

linux系統報警怎么辦,常見Linux系統故障和解決方法

常見Linux系統故障和解決方法發布時間&#xff1a;2020-06-06 14:48:19來源&#xff1a;億速云閱讀&#xff1a;212作者&#xff1a;Leah欄目&#xff1a;云計算這篇文章給大家分享的是常見的Linux系統故障和解決方法。在使用系統的過程中總會有各種各樣的故障&#xff0c;所以…

Vuex 模塊化與項目實例 (2.0)

Vuex 強調使用單一狀態樹&#xff0c;即在一個項目里只有一個 store&#xff0c;這個 store 集中管理了項目中所有的數據以及對數據的操作行為。但是這樣帶來的問題是 store 可能會非常臃腫龐大不易維護&#xff0c;所以就需要對狀態樹進行模塊化的拆分。 首先貼出一個邏輯比較…

click js自動點擊 vue_vue.js2.0點擊獲取自己的屬性和jquery方法

如下所示&#xff1a;:data-index"index":dt"index"v-on:click"onclick($event,index)":data-d "JSON.stringify( item)"href"http://www.baidu.com" rel"external nofollow" rel"external nofollow"da…

Python:知識目錄

Python目錄 第一篇&#xff1a;數據類型部分文件操作 基礎數據類型---str 基礎數據類型---List 基礎數據類型---dict 基礎數據類型---set 基礎數據類型---bytes 數據類型的總結 文件操作------讀&#xff0c;寫 文件操作------使用方法 第二章&#xff1a;函數模塊 初識函數…

初學者css常見問題_5分鐘內學習CSS-初學者教程

初學者css常見問題關于網絡設計語言的快速教程。 (A quick tutorial on the design language of the web.) CSS (Cascading Style Sheets) is what makes web pages look good and presentable. It’s an essential part of modern web development and a must-have skill for …