zoukankan      html  css  js  c++  java
  • 面试题2016

    1:给定1,2,3,4三个数,组成互不相同的数

    参考代码如下:

    @Test
    	public void test(){
    
    //		int count = 0;
    //		for(int i=1;i<5;i++)
    //			for(int j=1;j<5;j++)
    //				for(int k=1;k<5;k++){
    //					if(i!=j&&j!=k&&i!=k){
    //						count++;
    //						System.out.println(""+i+j+k);
    //					}
    //				}
    //		
    //		System.out.println("count“:"+count);
    		List l = new ArrayList();
    		l.add(1);
    		l.add(2);
    		l.add(3);
    		l.add(4);
    		getNumCount(l,3,0);
    	}
    	
    	int count=0;
    	private void getNumCount(List<Integer> numList, int median, int currNum)
        {
            if (median == 1)
            {
                for (int i = 0; i < numList.size(); i++)
                {
                    int result = currNum + numList.get(i);
                    count++;
                    System.out.println("第" + count + "个数为:" + result);
                }
            }
            else
            {
                for (int i = 0; i < numList.size(); i++)
                {
                    int medianNum = numList.get(i);
                    int result = (int) (currNum +  medianNum * Math.pow(10, median - 1));
                    
                    //传入list的一个拷贝(直接传入上级的list,会出现每个层级剩下的数据错误)
                    List list = new ArrayList();
                    for (Integer num: numList)
                    {
                        int copyNum = num;
                        if (copyNum != medianNum)
                        {
                            list.add(copyNum);
                        }
                        
                    }
                    getNumCount(list, median - 1, result);
                }
            }
        }
    

      

     

    2:有n个数组,每个数组有m个数,从每个数组取一个数,求有多少种组合(组合内顺序不限)

     参考代码如下:

    public static void main(String[] args) throws ParseException {
            
            ArrayList<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>();
            ArrayList<Integer> b = new ArrayList<Integer>();
            b.add(1);
            b.add(2);
            b.add(3);
            ArrayList<Integer> c = new ArrayList<Integer>();
            c.add(4);
            c.add(5);
            c.add(6);
            ArrayList<Integer> d = new ArrayList<Integer>();
            d.add(1);
            d.add(2);
            d.add(3);
            ArrayList<Integer> e = new ArrayList<Integer>();
            e.add(1);
            e.add(2);
            e.add(3);
            
            a.add(b);
            a.add(c);
            a.add(d);
            a.add(e);
            
            StringBuffer s = new StringBuffer();
            fun(a,s);
            System.out.println("count:" + count);
        }
        
        static int count = 0;
        public static void fun(ArrayList<ArrayList<Integer>> a , StringBuffer s){
            if(a.size() == 1){
                ArrayList<Integer> list= a.get(0);
                for(Integer l1:list){
                    StringBuffer s3 = new StringBuffer();
                    s3.append(s);
                    s3.append(l1);
                    count++;
                    System.out.println(s3.toString());
                }
            }else{
                ArrayList<ArrayList<Integer>> bb = new ArrayList<ArrayList<Integer>>();
                bb.addAll(a);
                ArrayList<Integer> b = bb.get(0);
                bb.remove(b);
                for(Integer i :b){
                    StringBuffer s2 = new StringBuffer();
                    s2.append(s);
                    s2.append(i);
                    fun(bb,s2);
                }
            }
        }
    

      

    3:有一张用户表,表中有用户信息,所在企业,创建时间,查询出每个月新增人数前三的企业。

    参考sql如下:

      

    select t2.*
      from (select t1.idCsspOrg,
                   t1.cou,
                   t1.dateCreated,
                   row_number() over(partition by t1.dateCreated order by t1.cou desc) rn
              from (select t.id_cssp_org idCsspOrg,
                           to_char(t.date_created, 'yyyy-MM') dateCreated,
                           count(0) cou
                      from cssp_user_info t
                     group by to_char(t.date_created, 'yyyy-MM'), t.id_cssp_org) t1) t2
     where t2.rn < 4
    

     4.判断一个字符串是否是数值型字符串

    public static int fun(String s){
    		int flag =0;
    		if(s.matches("^[-]?[1-9][0-9]*[.]?[0-9]+$"))
    			flag = 1;
    		return flag;
    	}
    

      

  • 相关阅读:
    编程之类 字符串包括问题
    Performance Counter的使用
    MVVM Light Toolkit使用指南
    Lambda表达式详解
    C#线程篇---Task(任务)和线程池不得不说的秘密(5)
    在WPF中如何使用RelativeSource绑定
    WPF中使用ObjectDataProvider绑定方法
    免费的精品: Productivity Power Tools 动画演示
    使用Myeclipse进行简单webservice开发的示例
    <context:component-scan>使用说明
  • 原文地址:https://www.cnblogs.com/gexiaoshan/p/5808091.html
Copyright © 2011-2022 走看看