查看: 684| 回复: 0
跳转到指定楼层
上一主题 下一主题
收起左侧

[学Java/C#] leetcode 140题 求分析时间空间复杂度

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
代码如下
  1. class Solution {
  2.      
  3.        Set<String> dic;

  4.        public List<String> wordBreak(String s, List<String> wordDict) {

  5.                 List<String> res = new LinkedList<>();

  6.                 dic = new HashSet<>();

  7.                 for(String w : wordDict){
  8.                                     dic.add(w);
  9.         }

  10.         StringBuilder sb = new StringBuilder();

  11.         helper(s, 0, res, sb);

  12.         return res;
  13.       }   
  14.   
  15.      public void helper(String s, int index, List<String> res, StringBuilder sb){

  16.             if(index == s.length()){
  17.             res.add(sb.toString().trim());
  18.             return;
  19.          }

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

  21.             String curr = s.substring(index, i + 1);

  22.             if(dic.contains(curr)){         

  23.                     sb.append(curr);

  24.                     sb.append(" ");

  25.                     helper(s, i+1, res, sb);

  26.                     sb.setLength(sb.length() - curr.length() - 1);
  27.                 }                        
  28.             }   
  29.      }
  30. }
复制代码
居然93%通过  leetcode  

但完全不知道怎么分析时间复杂度?  据说是 n! ????  那么时间复杂度呢?


评分

参与人数 1大米 +1 收起 理由
14417335 + 1 给你点个赞!

查看全部评分


上一篇:Jiu Zhang 数据结构知识点及考察频率 Cheat Sheet
下一篇:[刷题笔记] 刷题性价比之王: 宽度优先搜索
您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表