联玛客(W 笔试)
紙質算法題
1、
輸入數據:1、3、2、4、8...
輸出數據:3、1、4、2、8...
找出規律,寫出一個程序求解,并附上時間復雜度和空間復雜度
我的答案:
規律一:奇偶位互換
假設輸入數據長度為50
public static void main(String[] args) {Scanner input = new Scanner(System.in);int[] arr = new int[50];for (int i = 0; i < arr.length; i++) {arr[i] = input.nextInt();}for (int i = 0; i < arr.length;) {if (i == arr.length - 1) {break;}System.out.println(arr[i + 1]);System.out.println(arr[i]);i += 2;}}時間復雜度:O(n),空間復雜度:O(n)
?
交流:
B:假設我不要你輸出這些數據,只要你改變內部數據,你該怎么優化;
A:...
B:你判斷一下數組的長度
A:我知道了,判斷數據的長度是奇數/偶數,然后倒序輸出就可以了;(時間復雜度為O(1),空間復雜度為O(1))
B:是的
?
轉載于:https://www.cnblogs.com/syjp/p/10486167.html
總結
- 上一篇: 【计算机网络】Session机制
- 下一篇: 上厕所时间超长也能被开除?法院:超出正常