zoukankan      html  css  js  c++  java
  • flhs笔试题-回家上机实践

    这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入

    package org.flhs;

    import com.google.common.base.Strings;

    /**
    * Created with IntelliJ IDEA.
    * User: cutter.li
    * Date: 14-3-7
    * Time: 下午3:10
    * To change this template use File | Settings | File Templates.
    */
    public class FLHSTest {


        public static void main(String[] args) {

    //        changePosition("iloveyou", 5);


           Object[] objArray= insertObjArrayInPosition(new Object[]{"a","b","hello"},new Object[]{"fuck","you"},3);

           printArray(objArray);

        }

        private static void printArray(Object[] objArray) {
            if(null!=objArray&&objArray.length>0)
            {
                for(Object obj:objArray)
                {
                    System.out.print(obj+" , ");
                }
            }
        }

        //对指定位置前后的字符串的内容进行调换
        public static void changePosition(String str, int position) {
            String res = "";
            if (Strings.isNullOrEmpty(str)) {
                res = "改变的字符串为空";
            } else {
                int len = str.length();

                if (position <= 0 || position >= len) {
                    res = str;
                } else {
                    String preTxt = str.substring(0, position);
                    String remainTxt = str.substring(position, str.length());
                    res = remainTxt + preTxt;

                }
            }
            System.out.println(res);
        }

    //数组在指定位置的插入
        public static Object[] insertObjArrayInPosition(Object[] dest, Object[] source, int position) {
            if (null == dest) {
                return source;
            }

            if (null == source) {
                return dest;
            }
            int destSize = dest.length;
            int sourceSize = source.length;
            Object[] resObjArray = new Object[destSize + sourceSize];

            if (position <= 0) {
                System.arraycopy(source, 0,  resObjArray, 0, sourceSize);
                System.arraycopy(dest , 0, resObjArray, sourceSize, destSize);
            } else if (position > dest.length) {
                System.arraycopy(dest, 0,  resObjArray, 0, destSize);
                System.arraycopy(source, 0,  resObjArray, destSize, sourceSize);
            } else {
                System.arraycopy(dest, 0, resObjArray, 0, position);
                System.arraycopy(source, 0,  resObjArray, position, sourceSize);
                System.arraycopy(dest, position,  resObjArray, position+sourceSize, destSize - position);

            }
            return resObjArray;
        }


    }

  • 相关阅读:
    Orac and Medians
    牛牛的揠苗助长
    Color Graph
    Spanning Tree Removal【构造】
    A Simple Problem On A Tree
    Spring源码学习笔记(六、Spring启动流程解析:BeanFactory后置处理)
    Spring源码学习笔记(五、Spring启动流程解析:准备BeanFactory)
    一、求最大公约数
    Spring源码学习笔记(四、Spring启动流程解析:概述与准备上下文、获取BeanFactory)
    Spring源码学习笔记(三、路径和占位符,Spring容器如何解析配置信息)
  • 原文地址:https://www.cnblogs.com/snidget/p/3586592.html
Copyright © 2011-2022 走看看