1. 程式人生 > 其它 >在ASP.NET 5應用程式中的跨域請求功能詳解什麼是“同域”新增CORS包在應用程式中配置CORSCORS策略選項跨域請求中的憑據設定先行請求的過期時間CORS是怎麼樣工作的先行請求

在ASP.NET 5應用程式中的跨域請求功能詳解什麼是“同域”新增CORS包在應用程式中配置CORSCORS策略選項跨域請求中的憑據設定先行請求的過期時間CORS是怎麼樣工作的先行請求

刪除排序陣列中的重複項

給你一個 升序排列 的陣列 nums ,請你 原地 刪除重複出現的元素,使每個元素 只出現一次 ,返回刪除後陣列的新長度。元素的 相對順序 應該保持 一致 。

由於在某些語言中不能改變陣列的長度,所以必須將結果放在陣列nums的第一部分。更規範地說,如果在刪除重複項之後有 k 個元素,那麼 nums 的前 k 個元素應該儲存最終結果。

將最終結果插入 nums 的前 k 個位置後返回 k 。

不要使用額外的空間,你必須在 原地 修改輸入陣列 並在使用 O(1) 額外空間的條件下完成。

輸入:nums = [1,1,2]
輸出:2, nums = [1,2,_]
解釋:函式應該返回新的長度 2 ,並且原陣列 nums 的前兩個元素被修改為 1, 2 。不需要考慮陣列中超出新長度後面的元素。
package com.why;
import java.util.Arrays;
public class RemoveDuplicates {
  
    //雙指標判斷
    public int removeDuplicates(int[] nums) {
        int left = 0;
        //條件邊界判斷
        if (nums == null || nums.length == 0){
            return 0;
        }

        for (int right = 1; right < nums.length; right++)
            //如果左指標和右指標指向的值一樣,說明有重複的,
            //這個時候,左指標不動,右指標繼續往右移。如果他倆
            //指向的值不一樣就把右指標指向的值往前挪
            if (nums[left] != nums[right])
                nums[++left] = nums[right];
        return ++left;

    }
	
    //正常思單向移動
    public int removeDuplicate(int[] nums) {

            int count = 0;//重複的數字個數

            for (int right = 1; right < nums.length; right++) {
                if (nums[right] == nums[right - 1]) {
                    //如果有重複的,count要加1
                    count++;
                } else {
                    //如果沒有重複,後面的就往前挪
                    nums[right - count] = nums[right];
                    System.out.println(Arrays.toString(nums));
                }
            }
            //陣列的長度減去重複的個數
            return nums.length - count;
        }
}