文档章节

一些棘手的问题 主要是解决问题思路(递归 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全栈工程师(递归函数、闭包)

ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 全栈工程师                         Python人工智能从入门到精通 函数式编程:   是指用一系列函数解决问题  ...

巴黎香榭
07/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux如何查看进程、杀死进程、启动进程等常用命令

关键字: linux 查进程、杀进程、起进程 1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程...

临江仙卜算子
5分钟前
0
0
ASP.NET Core MVC 静态文件配置

在启动文件中添加以下配置 public class Startup{ public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddDirectoryBrowser(); ......

whltian
15分钟前
0
0
linux之自定义命令

本人使用的是ubuntu系统,不喜欢建各种桌面快捷链接,但是每次启动个软件,去查找又麻烦,所以自定义了命令,来快捷的启动应用: 1、修改/etc/bash.bashrc,在文件末尾,加上如下List-1中的内...

克虏伯
22分钟前
3
0
linux基础

系统安全 sudo su chmod setfacl 进程管理 w top ps kill pkill pstree killall 用户管理 id usermod useradd groupad userdel 文件系统 mount umount fsck df du 网络应用 curl telnet mail......

关元
24分钟前
2
0
Caffe-源码分析(一)

CHECK_X函数,用于比较两个blob之间的值 CHECK_EQ(x,y)<<"x!=y",EQ即equation,意为“等于”,当x!=y时,函数打印出x!=y。 CHECK_NE(x,y)<<"x=y",NE即not equation,意为“不等于”,,...

Pulsar-V
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部