JAVA卷二
您的姓名:---
手机号:----
- 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标(30分)
package controller;
import java.util.ArrayList;
import java.util.List;
/** * Created by wanzhongLiao on 2023/5/27. */public class YILIDETestMain {
public static void main(String[] args) {
int[] intArr=new int[]{2,7,11,15};
List customerIntIndexList=getArrIndex(intArr,9);
System.out.println(customerIntIndexList);
}
public static List getArrIndex(int[] intArr, int targetNum){
int length = intArr.length;
int resultVal=1;
for (int i = 0; i < 4; i++) {
resultVal*=10;
}
if(lengthresultVal){
return null;
}
int resultVal1=1;
for (int i = 0; i < 9; i++) {
resultVal1*=10;
}
resultVal1=resultVal1*(-1);
int resultVal2=1;
for (int i = 0; i < 9; i++) {
resultVal2*=10;
}
if(targetNumresultVal2){
return null;
}
for (int i = 0; i < intArr.length; i++) {
int intElement=intArr;
if(intElementresultVal2){
return null;
}
}
ArrayList arrayList = new ArrayList();
for (int i = 0; i < intArr.length-1; i++) {
int intArrayEle = intArr;
CustomerIntEle customerIntEle = new CustomerIntEle();
customerIntEle.setIdIndex(i);
customerIntEle.setIntArrEle(intArrayEle);
for (int j = i+1; j < intArr.length; j++) {
int intArrayEle2 = intArr[j];
CustomerIntEle customerIntEle2 = new CustomerIntEle();
customerIntEle2.setIdIndex(j);
customerIntEle2.setIntArrEle(intArrayEle2);
int tempSum=intArrayEle+intArrayEle2;
if(tempSum==targetNum){
CustomerIntIndex customerIntIndex = new CustomerIntIndex();
customerIntIndex.setIdIndex1(i);
customerIntIndex.setIdIndex2(j);
arrayList.add(customerIntIndex);
}
}
}
return arrayList;
}
}
class CustomerIntIndex{
private Integer idIndex1;
private Integer idIndex2;
public Integer getIdIndex1() {
return idIndex1;
}
public void setIdIndex1(Integer idIndex1) {
this.idIndex1 = idIndex1;
}
public Integer getIdIndex2() {
return idIndex2;
}
public void setIdIndex2(Integer idIndex2) {
this.idIndex2 = idIndex2;
}
@Override
public String toString() {
return "["+idIndex1+","+idIndex2+"]";
}
}
class CustomerIntEle{
private Integer idIndex;
private Integer intArrEle;
public int getIdIndex() {
return idIndex;
}
public void setIdIndex(int idIndex) {
this.idIndex = idIndex;
}
public int getIntArrEle() {
return intArrEle;
}
public void setIntArrEle(int intArrEle) {
this.intArrEle = intArrEle;
}
}
|
- 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度(30分)
import java.util.*;
public class YILIDETest2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String nextLine = scanner.nextLine();
int maxLenSubStr = getMaxLenSubStr(nextLine);
System.out.println(maxLenSubStr);
}
/** * 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度 * @param srcStr * @return */ public static int getMaxLenSubStr(String srcStr){
if (srcStr==null){
return 0;
}
if (srcStr.isEmpty()){
return 0;
}
String trim = srcStr.trim();
if (trim.isEmpty()){
return 0;
}
int length = trim.length();
Random random = new Random();
HashSet stringHashSet = new HashSet();
int count=0;
while (true){
for (int i = 0; i < length; i++) {
int trimStrBegIndex = random.nextInt(length);
int trimStrEndIndex = random.nextInt(length);
if (trimStrEndIndex>trimStrBegIndex){
String substring = srcStr.substring(trimStrBegIndex, trimStrEndIndex);
stringHashSet.add(substring);
}
}
count++;
if (count>1000000){
break;
}
}
System.out.println(stringHashSet);
ArrayList stringArrayList = new ArrayList();
for (String s : stringHashSet) {
boolean checkStrIsRepeatChar = checkStrIsRepeatChar(s);
if (!checkStrIsRepeatChar){
stringArrayList.add(s);
}
}
Collections.sort(stringArrayList, new Comparator() {
@Override
public int compare(String o1, String o2) {
int length1 = o1.length();
int length2 = o2.length();
if (length1length2){
return -1;
}
return 0;
}
});
String s = stringArrayList.get(0);
System.out.println(stringArrayList);
System.out.println(s);
return s.length();
}
/** * 判断字符串是否含有重复字符 * @param srcStr * @return */ public static boolean checkStrIsRepeatChar(String srcStr){
if (srcStr==null){
return false;
}
if (srcStr.isEmpty()){
return false;
}
int length = srcStr.length();
HashMap characterIntegerHashMap = new HashMap();
for (int i = 0; i < length; i++) {
char charAt = srcStr.charAt(i);
if (characterIntegerHashMap.containsKey(charAt)){
characterIntegerHashMap.put(charAt,characterIntegerHashMap.get(charAt)+1);
}else {
characterIntegerHashMap.put(charAt,1);
}
}
System.out.println(characterIntegerHashMap);
for (Map.Entry entry : characterIntegerHashMap.entrySet()){
Character key = entry.getKey();
Integer value = entry.getValue();
if (value'A' && charAtlength1Temp){
break;
}
char charAtHead = trimStr.charAt(i);
char charAtTail = trimStr.charAt(trimStr.length() - i-1);
if(charAtHead==charAtTail){
return true;
}
}
return false;
}
}
|
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |