/*
1. 给定一个整型数组,数组的长度为 N(N>k),
从数组中寻找一个连续的长度为 k 的 子数组,
要求该子数组的和最大。 同时将哪一组 打印一下
Max 初始: 0~k-1 这些元素的和
循环 i:0~ n-k-1
Tmp = arr[i]+arr[i+1]… arr[i+k-1]
If(Tmp>max) 则max = Tmp
Index
*/
int[] arr = {1,2,3,7,4,5,6};
int k = 3;
int max = 0;//最大的子数组的和
int idx = 0;//最大组的第一个元素的下标
//max初始值
for(int i=0;i<k;i++){
max += arr[i];
}
//遍历比较 有多少种子数组
for (int i = 0; i <= arr.length-k; i++) {
//计算 tmp=arr[i]+arr[i+1]… arr[i+k-1]
int tmp = 0;
for (int j = i; j < i+k; j++) {
tmp += arr[j];
}
if(tmp>max){
max=tmp;
idx = i;
}
}
System.out.println(max +" "+idx);
/*
2. 给定两个长度一样的整型数组,
判断两个数组是否相同,
相同的原则是数组中的
每 一个相互对应的元素的“和值”相同,
“和值”是指元素对应的整数所有位的合,
例 如:a[0]的值是 1112,
b[0]的值是 23,则这两个元素“相同”。
//求一个数的和值
int num = a[i]; //这样 原始a[i]的值还在
sum = 0
n = 0 位数
while(num>0){
sum += num%10
num /=10;、
n++;
}
//一个循环 同时遍历两个数组
//tmp1= a[i]和值
// tmp2= b[i]和值
//判定 tmp1!=tmp2
// ret = false
// break;
* */
int[] a = {112,3,4};
int[] b = {22,12,40};
boolean ret = true;
//一个循环 同时遍历两个数组
for (int i = 0; i < a.length; i++) {
// tmp1= a[i]和值
int tmp1 = 0;
int num = a[i];
while(num>0){
tmp1 += num%10;
num /=10;
}
// tmp2= b[i]和值
int tmp2 = 0;
num = b[i];
while(num>0){
tmp2 += num%10;
num /=10;
}
// 判定 tmp1 != tmp2
if (tmp1 != tmp2) {
ret = false;
break;
}
}
System.out.print(ret);
String str = "Professor du comes from Korea";
char[] arr2 = str.toCharArray();
}
}
1. 给定一个整型数组,数组的长度为 N(N>k),
从数组中寻找一个连续的长度为 k 的 子数组,
要求该子数组的和最大。 同时将哪一组 打印一下
Max 初始: 0~k-1 这些元素的和
循环 i:0~ n-k-1
Tmp = arr[i]+arr[i+1]… arr[i+k-1]
If(Tmp>max) 则max = Tmp
Index
*/
int[] arr = {1,2,3,7,4,5,6};
int k = 3;
int max = 0;//最大的子数组的和
int idx = 0;//最大组的第一个元素的下标
//max初始值
for(int i=0;i<k;i++){
max += arr[i];
}
//遍历比较 有多少种子数组
for (int i = 0; i <= arr.length-k; i++) {
//计算 tmp=arr[i]+arr[i+1]… arr[i+k-1]
int tmp = 0;
for (int j = i; j < i+k; j++) {
tmp += arr[j];
}
if(tmp>max){
max=tmp;
idx = i;
}
}
System.out.println(max +" "+idx);
/*
2. 给定两个长度一样的整型数组,
判断两个数组是否相同,
相同的原则是数组中的
每 一个相互对应的元素的“和值”相同,
“和值”是指元素对应的整数所有位的合,
例 如:a[0]的值是 1112,
b[0]的值是 23,则这两个元素“相同”。
//求一个数的和值
int num = a[i]; //这样 原始a[i]的值还在
sum = 0
n = 0 位数
while(num>0){
sum += num%10
num /=10;、
n++;
}
//一个循环 同时遍历两个数组
//tmp1= a[i]和值
// tmp2= b[i]和值
//判定 tmp1!=tmp2
// ret = false
// break;
* */
int[] a = {112,3,4};
int[] b = {22,12,40};
boolean ret = true;
//一个循环 同时遍历两个数组
for (int i = 0; i < a.length; i++) {
// tmp1= a[i]和值
int tmp1 = 0;
int num = a[i];
while(num>0){
tmp1 += num%10;
num /=10;
}
// tmp2= b[i]和值
int tmp2 = 0;
num = b[i];
while(num>0){
tmp2 += num%10;
num /=10;
}
// 判定 tmp1 != tmp2
if (tmp1 != tmp2) {
ret = false;
break;
}
}
System.out.print(ret);
String str = "Professor du comes from Korea";
char[] arr2 = str.toCharArray();
}
}
4454

被折叠的 条评论
为什么被折叠?



