成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大廠面試真題詳解:分割字符串

新聞
給一個字符串,你可以選擇在一個字符或兩個相鄰字符之后拆分字符串,使字符串由僅一個字符或兩個字符組成,輸出所有可能的結(jié)果。

給一個字符串,你可以選擇在一個字符或兩個相鄰字符之后拆分字符串,使字符串由僅一個字符或兩個字符組成,輸出所有可能的結(jié)果

樣例1

 

  1. 輸入: "123" 
  2. 輸出: [["1","2","3"],["12","3"],["1","23"]] 

樣例2

 

  1. 輸入: "12345" 
  2. 輸出: [["1","23","45"],["12","3","45"],["12","34","5"],["1","2","3","45"],["1","2","34","5"],["1","23","4","5"],["12","3","4","5"],["1","2","3","4","5"]] 

算法:DFS

由于本題可以選擇在一個字符或兩個相鄰字符之后拆分字符串,且最后需輸出所有可能的組合,即每次都需要把整個字符串按照特定要求切分完畢,可以想到利用遞歸dfs來完成;

算法步驟

對字符串進行深度優(yōu)先搜索,當前位置達到字符串末尾作為邊界。搜索時有兩種情況:

切割當前的1個字符:

  • 將這1個字符單獨作為字符串存入列表
  • 當前位置步進1

切割當前的連續(xù)2個字符(需滿足當前位置不是字符串末尾):

  • 將連續(xù)2個字符保存為字符串存入列表
  • 當前位置步進2

復雜度分析

  • 時間復雜度:O(2^n), n為字符串長度除了字符串最后一位,其他位置都有兩種切割方式
  • 空間復雜度:O(2^n^2),n為字符串長度存儲所有情況需要所有切分方式*n 的空間

 

  1. public class Solution { 
  2.     /* 
  3.      * @param : a string to be split 
  4.      * @returnall possible split string array 
  5.      */ 
  6.     public List<List<String>> splitString(String s) { 
  7.         List<List<String>> result = new ArrayList<>(); 
  8.         dfs(s, 0, new ArrayList<>(), result); 
  9.         return result; 
  10.     } 
  11.  
  12.     private void dfs(String s, int index, List<String> current, List<List<String>> result) { 
  13.         if (index == s.length()) { 
  14.             result.add(new ArrayList<>(current)); 
  15.             return
  16.         } 
  17.         // 分割1個字符 
  18.         current.add(String.valueOf(s.charAt(index))); 
  19.         dfs(s, index + 1, current, result); 
  20.         current.remove(current.size() - 1); 
  21.         // 分割2個字符 
  22.         if (index < s.length() - 1) { 
  23.             current.add(s.substring(indexindex + 2)); 
  24.             dfs(s, index + 2, current, result); 
  25.             current.remove(current.size() - 1); 
  26.         } 
  27.     } 

 

責任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2018-05-21 20:45:45

2011-08-10 18:47:18

Cocoa字符串

2010-11-26 10:43:48

MySQL分割字符串

2009-08-07 14:15:21

C#字符串分割

2021-09-07 06:40:25

貪心平衡字符串

2021-03-08 08:23:24

Java字符串截取

2010-11-26 13:27:41

MySQL存儲過程

2009-12-01 09:18:50

PHP分割字符串

2010-10-09 11:43:10

MYSQL字符串

2022-12-06 08:27:50

Bash腳本字符串

2010-07-14 12:57:59

Perl字符串

2011-09-01 21:41:42

SQL Server把字符分割成兩個字符串

2023-02-26 00:00:02

字符串分割String

2023-12-15 09:49:54

回溯解決組合問題數(shù)組

2024-06-26 08:18:08

ES6模板字符串

2010-07-14 16:21:48

Perl

2013-04-28 10:36:00

Obj-C數(shù)組Obj-C字符串拼接與

2020-08-25 08:56:55

Pythonawk字符串

2021-12-24 11:59:47

數(shù)據(jù)結(jié)構(gòu)算法字符串

2021-04-15 00:16:18

JavaString字符串
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人午夜在线 | 丝袜 亚洲 另类 欧美 综合 | 99热首页| 精品国产一区二区三区性色av | 国产夜恋视频在线观看 | 国户精品久久久久久久久久久不卡 | 久久精品99 | 久久综合久久久 | 久久久蜜桃一区二区人 | 99国产精品一区二区三区 | 国产欧美精品一区 | 国产精品美女久久久久久免费 | 亚洲综合免费 | 狠狠干美女 | 伊人精品 | 日韩1区| 午夜激情影院 | 国产日韩欧美中文 | 中文字幕在线免费视频 | 91在线区| 亚洲香蕉 | 久久精品亚洲 | 国产欧美一区二区三区久久 | 最新中文字幕第一页视频 | 欧美专区在线 | 91原创视频在线观看 | 久久综合色综合 | 亚洲精品一区久久久久久 | 免费成人高清在线视频 | 精品一区二区三区四区五区 | 美女国产一区 | 国产精品国色综合久久 | 超级乱淫av片免费播放 | 日韩一 | 久久精品播放 | 羞羞色影院 | 国产精品美女 | 日韩国产欧美视频 | 99reav| 韩国久久| 一级黄色影片在线观看 |