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;
        }


    }

  • 相关阅读:
    219. Contains Duplicate II
    189. Rotate Array
    169. Majority Element
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
    88. Merge Sorted Array
    53. Maximum Subarray
    CodeForces 359D Pair of Numbers (暴力)
  • 原文地址:https://www.cnblogs.com/snidget/p/3586592.html
Copyright © 2011-2022 走看看