文档章节

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

Zhang_Java
 Zhang_Java
发布于 2016/07/28 16:06
字数 423
阅读 6
收藏 0
点赞 0
评论 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
博文 31
码字总数 31688
作品 0
浦东
程序员
HashMap和Hashtable的区别

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

LCZ777 ⋅ 2014/03/29 ⋅ 0

经典算法|递归和递归消除的迭代法

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

铁扇公主1 ⋅ 2017/05/24 ⋅ 0

Python中yield的使用小述

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

teaspring ⋅ 2014/08/21 ⋅ 0

算法的设计基本方法的理解

算法设计基本方法有什么好处? 了解常见的算法设计方法以及它们之间的区别,有利于构建算法思维的广度,有充分的理论知识。当然,如果算法思维的深度再好的话,将来你见识的算法越多,天下之...

qingliangdexiar ⋅ 2017/05/31 ⋅ 0

Python函数式编程中map()、reduce()和filter()函数的用法

Python中、和三个函数均是应用于序列的内置函数,分别对序列进行遍历、递归计算以及过滤操作。这三个内置函数在实际使用过程中常常和联合使用,我们首先介绍下lambda函数。1、lambda函数 la...

损失函数 ⋅ 05/24 ⋅ 0

python的高级应用

函数式编程 函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是“怎么干”,而函数函数式编程的思考方式是我要“干什么”。很多好用的函数很大程度节约了...

zsdnr ⋅ 2017/07/21 ⋅ 0

深入浅出 Python 函数式编程

1、函数式编程的定义与由来 如果程序中的函数仅接受输入并产生输出,即输出只依赖于输入,数据不可变,避免保存程序状态,那么就称为函数式编程(Functional Programming,简称FP,又称泛函编...

xrzs ⋅ 2015/09/09 ⋅ 0

Clojure 中的树形数据访问模式

利用函数式 zippers 更新 Java 访问者(Visitor)模式 简介: JVM 语言探索者 Alex Miller 近来发现了使用 Clojure 实现访问者模式的益处。Clojure 是用于 Java 虚拟机的一种函数式 Lisp 变体...

IBMdW ⋅ 2011/11/08 ⋅ 1

运维如何通过学习python学会编程

运维如何通过学习python学会编程 运维必须懂开发,特别是python开发,已经形成大家的共识,不懂开发的运维,路会越走越窄。 黄哥,从2012年底,从事python教学过程中,接触到很多运维的朋友。...

黄哥Python培训 ⋅ 2016/03/01 ⋅ 0

对 Python 迭代的深入研究

在程序设计中,通常会有 loop、iterate、traversal 和 recursion 等概念,他们各自的含义如下: 循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如 Python 中的 while 语句...

Konghy ⋅ 2016/05/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JAVA RMI

什么是JAVA RMI Java RMI (Remote Method Invocation) 远程方法调用,能够让客户端像使用本地调用一样调用服务端 Java 虚拟机中的对象方法。RMI 是面向对象语言领域对 RPC (Remote Proced...

saulc ⋅ 25分钟前 ⋅ 0

Linux系统工程狮养成记

如今的社会,随着时代的发展,出现了很多职业,像电子类,计算机类的专业,出现了各种各样的工程师,有算法工程师,java工程师,前端工程师,后台工程师,Linux工程师,运维工程师等等,不同...

linux-tao ⋅ 35分钟前 ⋅ 0

进入编辑模式 vim命令模式 vim实践

1.

oschina130111 ⋅ 35分钟前 ⋅ 0

mysql用户管理、常用sql语句、mysql数据库备份恢复

1. mysql用户管理 mysql默认有一个root超级管理员账户,实际工作环境中不可能每个人都用此root权限,防止误操作、误删除,可以给单独的用户进行授权。 Mysql创建用户以及授权: grant all on...

laoba ⋅ 36分钟前 ⋅ 0

类型后面三个点(String...)和数组(String[])的区别

类型后面三个点(String…),是从Java 5开始,Java语言对方法参数支持一种新写法,叫可变长度参数列表,其语法就是类型后跟…,表示此处接受的参数为0到多个Object类型的对象,或者是一个Obj...

流氓兔- ⋅ 42分钟前 ⋅ 0

JEPLUS表格组件之表格合并——JEPLUS软件快速开发平台

JEPLUS表格组件之表格合并 我们在列表配置时会遇见这样的一种情况,需要对个人的数据进行统一化,对一些数据进行归类,这样展示出来美观又直观,在这篇笔记中我来给大家介绍下如何配置出来专...

JEPLUS ⋅ 43分钟前 ⋅ 0

golang 并发中全局唯一操作

package main// go 携程共享 数据// 加锁解锁操作// 同步锁import ("sync""fmt")// 创建Once结构var once = sync.Once{}func computed(data *int, lock *sync.Mut...

304158 ⋅ 43分钟前 ⋅ 0

Mobx入门之二:asynchronous actions

这一节主要看mobx怎么实现asynchronous actions 1 要实现的demo功能 输入地名,查询天气,利用openweathermap api 2 思想 observable观察数据:location地点、temperature温度 observer响应式...

pengqinmm ⋅ 46分钟前 ⋅ 0

【2018.0620学习笔记】【linux高级知识 13.4-13.6】

13.4 mysql用户管理 创建用户并授权: grant all on *.* to '用户名'@'ip' identified by '密码' //all是操作权限,*.*是库.表,指定格式是'用户名'@'localhost'才能用socket登录本地 gra...

lgsxp ⋅ 今天 ⋅ 0

Java强弱引用示例

package jdk;import java.lang.ref.PhantomReference;import java.lang.ref.ReferenceQueue;import java.lang.ref.SoftReference;import java.lang.ref.WeakReference;public ......

月下狼 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部