目录
学习内容:
LintCode刷题:
·数组的替换
创建一个变量为两个数组长度的差值,在这个基础上for循环遍历第二个数组然后 往第一个数组后面补充即可
import java.util.*;
public class Solution {
public int[] replacement(int[] arr1, int[] arr2) {
int differ=arr1.length-arr2.length;
for (int i=0;i<arr2.length;i++){
arr1[i+differ]=arr2[i];
}
return arr1;
}
}
·求和
用高斯定理或for循环都可以
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
int num=scanner.nextInt();
int res=0;
for (int i=1;i<=num;i++){
res+=i;
}
System.out.println(res);
System.out.println(num*(num+1)/2); //高斯定理
}
}
·将字符串中的字符转ASCII码
使用str.toCharArray()变成字符直接和int数组来比较
或者使用str.charAt()方法来比较
import java.util.*;
public class Solution {
public boolean characterConversion(String str,int arr[]) {
char[] chars=str.toCharArray();
for (int i=0;i<arr.length;i++){
if (chars[i]!=arr[i])
return false;
// if (str.charAt(i)!=arr[i])
// return false;
}
return true;
}
}
·数组字符串转换
首先去掉字符串的"[]",再根据,来把字符串分割为数组,再把数组中元素去掉空格放入到int数组中即可
import java.util.*;
public class Solution {
public int[] arrayConversion(String str1) {
str1=str1.replace("[","");
str1=str1.replace("]","");
String[] strings=str1.split(",");
int[] arr =new int[strings.length];
for (int i = 0; i < strings.length; i++) {
arr[i]=Integer.parseInt(strings[i].trim());
}
return arr;
}
}
·捕获异常
延伸->异常(缺)
public class Solution {
public String division(int a, int b) {
Calculators calculators=new Calculators();
try {
int calc =calculators.calc(a,b);
}catch (Exception e){
return "The divisor cannot be 0.";
}
return "Calculated results are normal.";
}
}
·捕获异常II
延伸->异常(缺)
public class Solution {
public void division(Object num) throws Exception {
Calculators c=new Calculators();
c.open();
try{
c.indexation(num);
}catch(Exception e){
System.out.println("The program is running correctly.");
}
c.close();
}
}
学习时间:
2021-8-26 9:00-11:45、13:30-17:00
学习产出:
调试项目
刷题*6
学习博客*1