文档章节

一些棘手的问题 主要是解决问题思路(递归 map 迭代器)

Zhang_Java
 Zhang_Java
发布于 2016/07/28 16:06
字数 423
阅读 7
收藏 0

1:(递归)有一个字符串,根据输入参数m,找出字符串的m个字符的所有字符串

例如 
String str ="abc", m=2  得到结果是 "ab" "ac" "bc"
String str ="abcd" , m=3 得到结果是"abc" "acd" "bcd" "abd"
 

public class CalCountSuan {
    public static List<String> choose(String target, int m) {
        List<String> resultList = new LinkedList<>();
        doChoose(resultList, target, "", m, 0);
        return resultList;
    }
    
    private static void doChoose(List<String> resultList, String target, String resultStr, int m, int head) {
    
        // 递归头
        if (resultStr.length() == m) {
            resultList.add(resultStr);
            return;
        }
    
        // 递归体
        for (int i = head; i < target.length(); i++) {
            doChoose(resultList, target, resultStr + target.charAt(i), m, i+1);
        }
    }
 
    
    public static void main(String[] args) {
        List<String> list = choose("abcdefssss",3);
        HashSet<String> hashSet = new HashSet<>(list);
        System.out.println(hashSet+"/n"+hashSet.size());
        
    }
}

2:计算每个城市个数

 /**
     * 通过Map计算重复值次数
     */  
    public class CalCount {  
          
        private static final Map<Object,Object> map = new HashMap<Object,Object>();
        
        public static void main(String[] args) {  
              
           String s = "长沙,湘潭,湘西,长沙,娄底,株洲,娄底,";  
             
          String [] array = s.split(",");  
          
          if(array.length>0){
              for(int i = 0; i < array.length; i++) {  
                  if(map.containsKey(array[i])) {  
                        
                      Integer count = (Integer) map.get(array[i]);  
                        
                      count++;
                     
                        
                      map.put(array[i], count);  
                        
                  } else {  
                      map.put(array[i], 1);  
                  }  
              }  
                
              System.out.println(map);   
              
          }
          
        }  
    } 

3:

package com.bailiangroup.osp.modules.mp.test;
import java.util.Date;
import org.joda.time.DateTime;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.ObjectMapper;

public class TimeDateObjectMapper {
    private static final ObjectMapper MAPPER = new ObjectMapper();
    public static void main(String [] args){
        
        DateTime time = new DateTime();
        DateTime days = time.minusDays(1).minusMinutes(44);//向前推
        DateTime hours = time.plusHours(2);//向后退
        Date date = hours.toDate();
        System.out.println(date);
          try {
               net.sf.json.JSONObject object = new net.sf.json.JSONObject();
              //这个是去除为空的字段过滤掉  阿里巴巴
              MpUsers mpUsers = new MpUsers();
              String string = net.sf.json.JSONObject.fromObject(mpUsers).toString();
              System.out.println(string);
              String jsonString = JSON.toJSONString(mpUsers);
              System.out.println(jsonString);
//              Object object = MAPPER.readValue("json",MAPPER.getTypeFactory().constructCollectionType(List.class, Object.class));
//              Object readValue = MAPPER.readValue("json",Object.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

 

 

转义
    public static void main(String[] args) {
        String input="&lt;pre class=&quot;brush: java;&quot;&gt;";
        String script = StringEscapeUtils.unescapeHtml3(input);
        String input1=StringEscapeUtils.escapeHtml3(script);
        
        System.out.println(script);
        System.err.println(input);
        int int1 = RandomUtils.nextInt(1000, 9999);
        System.out.println(int1);
        
        
        
        
    }

© 著作权归作者所有

共有 人打赏支持
Zhang_Java
粉丝 5
博文 39
码字总数 32627
作品 0
浦东
程序员
HashMap和Hashtable的区别

HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问...

LCZ777
2014/03/29
0
0
ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十三课(每周总结:3)

ParisGabriel                    每天坚持 一天一篇 点个订阅吧 灰常感谢 当个死粉也阔以                   week summer:             ...

ParisGabriel
07/22
0
0
Python全栈工程师(每周总结:3)

ParisGabriel                    每天坚持 一天一篇 点个订阅吧 灰常感谢 当个死粉也阔以                   week summer:             ...

巴黎香榭
07/22
0
0
经典算法|递归和递归消除的迭代法

任何一个可以用计算机解决的问题所需的计算时间都与其规模有关系,这也就意味着,通常情况下问题规模越大,所耗费的时间和计算资源越多;而问题的规模越小,所需的时间和计算资源越小,问题的...

铁扇公主1
2017/05/24
54
0
Python中yield的使用小述

Python中yield恐怕是最迷人的特性之一了,不过要想理解到位也需要费点功夫。官方有一份比较详细的介绍,是基于v2.5.2的。虽然较长,不过建议耐心看完。本文只是想说多一些个人理解。 Python...

teaspring
2014/08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
25分钟前
1
0
invalid character found in the request target 异常

这个异常时因为Tomcat 9不支持请求格式出现“{”等非法字符的问题 因为tomcat版本问题遇到的坑,记录一下。 问题 今天由于要测试一下订单详情页的异步查询,在本地起了一个服务,发送的请求是...

edwardGe
30分钟前
3
0
发现抓包软件fiddler的bug

1个请求他跳转之后,直接400,被拦在了Apache,使用fiddler 的,replay requests 是同样的结果,但是replay composer确是正常的。 也就是说这replay requests 是发原来的包,replay composer...

NLGBZJ
40分钟前
1
0
linux screen 命令详解

shell关闭后, 主机仍然运行 screen命令 启动jenkins以后, screen, 然后按ctrl+a 再按d 这样暂停了子界面, 这时候回到了父界面 用screen –ls查看目前子界面的状态 [root@free /]# screen -l...

SuShine
41分钟前
2
0
mac机器切换无线网络导致网页不能打开的问题

问题: 公司和家里使用不同的WI-FI,每次从家到公司时自动切换网络后,公司的许多地址不能访问, ping域名是可以ping同的,但是网页却打不开... 问题分析: 初步猜想是DNS缓存的问题? 对于MAC系统没...

Lennie002
43分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部