牛客習題總結4

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
for循環逐一複製:這個應該是比較慢的。

System.arraycopy( ):查看源碼,可知 public static native void arraycopy(Object src, int srcPos,Object dest, int destPos,int length);(1)

Arrays.copyof( ):本質上調用的是arraycopy( )方法,所以效率上肯定比System.arraycopy( )要低。

Clone( )方法:查看源碼可知,protected native Object clone() throws CloneNotSupportedException;可以看到是native方法:native關鍵字說明其修飾的方法是一個原生態方法,方法對應的實現不是在當前文件,而是在用其他語言(如C和C++)實現的文件中。但是返回的是Object類型,需要強制轉換。 一般用clone效率是最差的。(4)
在這裏插入圖片描述
在這裏插入圖片描述
1GB=1024MB=1024×1024KB=1024×1024×1024B。
在這裏插入圖片描述
在這裏插入圖片描述

import java.util.Scanner;
public class Main3 {
    public static boolean isSame(char a,String s) {
        for(int i = 0;i<s.length();i++) {
            if(a == s.charAt(i)) {
                return true;
            }
        }
        return false;
    }
    public static String removeCharAt(String s, int pos) {
        return s.substring(0, pos) + s.substring(pos + 1);
    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s1 = in.nextLine();
        String s2 = in.nextLine();
        String q = "";
        for(int i = 0;i<s1.length();i++) {
            if(isSame(s1.charAt(i),s2)) {
                 s1 = removeCharAt(s1,i);
                 i = i-1;
            }
        }
        System.out.println(s1);
    }
}

第一個方法判斷字符串中是否包含這個字符,第二個方法是刪除這個這字符,我們循環判斷字符串中的每個字符,如果這個字符包含於字符串2中,就刪除該字符,同時得注意,i也要減一,因爲相比原來字符串少了一個。
在這裏插入圖片描述

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意,如果輸入是多個測試用例,請通過while循環處理多個測試用例
int n = in.nextInt();
int ret = 0;
for(int i = 0;i<=20;i++) {
for(int j = 0;j<=20;j++) {
if(n == i*6+j*8) {
if(ret == 0) {
ret = i+j;
}else {
ret = ret>i+j?i+j:ret;
}
}
}
}
if(ret == 0) {
System.out.println(-1);
}else {
System.out.println(ret);
}
}
}

n == i6+j8只要這個成立,說明就可以正好裝完,就把i+j記錄下來,然後打擂臺,把所有結果中最小的放到ret中,返回就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章