1、把一个32位以内的十进制的正整数数转换为二进制:
import java.util.ArrayList;
import java.util.List;
public class Solution4 {
public static void main(String[] args) {
int n=1000000000;
List<Integer> list = new ArrayList<>();
while(n!=0){
list.add(n%2);
n = n/2;
}
for (int i= list.size()-1;i>=0;i--){
System.out.print(list.get(i));
}
}
}
2、给定两个字符串,求最长相同字串
public class MaxString {
public String getMaxSame(String s1,String s2){
int count=0;
int max=0;//最大值
int maxi=0;//短字符串最大值最后下标
int maxj=0;//长字符串最大值最后下标
int n=s1.length()>s2.length()?s2.length():s1.length();
int m=s1.length()<s2.length()?s2.length():s1.length();
for(int i=0;i<n;i++){
count=0;
int l=i;
for(int j=0;j<m&&l<n;j++){
if (s1.charAt(l)==s2.charAt(j)) {
count++;
if (count>max) {
max=count;
maxj=j;
maxi=l;
}
l++;
}
else{
count=0;
l=i;
}
}
}
String a=s1.length()>s2.length()?s2:s1;
return a.substring(maxi-max+1,maxi+1);
}
}