程序小白,希望和大家多交流,共同学习
刷了几题算法
import java.util.Scanner;
public class FindJINKELA
{
public static void main(String [] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter a line of characters: ");
String str = input.next();
char[] jinkela = {'J', 'I', 'N', 'K', 'L', 'A'};
int JIndex = 0;
for (int i = 0; i < str.length(); i++)
{
if (str.charAt(i) == jinkela[JIndex])
{
JIndex++;
}
}
if (JIndex == 6)
{
System.out.println("YES");
}
else
System.out.println("NO");
}
}
import java.util.Scanner;
public class UnhappyDay
{
public static void main(String [] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Enter the length of two classes per day: ");
int maxHour = 0;
int day = 0;
int sHour = 0;
int eHour = 0;
for (int i = 0; i < 7; i++)
{
sHour = input.nextInt();
eHour = input.nextInt();
int totalHourEveryday = sHour + eHour;
if ((totalHourEveryday >= 8) && (totalHourEveryday > maxHour))
{
maxHour = totalHourEveryday;
day = i;
}
}
System.out.println(day + 1);
}
}
import java.util.Scanner;
public class GroundWater
{
public static void main(String [] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter n :");
int n = input.nextInt();//人数
System.out.print("Enter m: ");
int m = input.nextInt();// 水龙头数
int[] wi = new int[n];// 每个人接水量
System.out.print("Enter wi : ");
for (int i = 0; i < n; i++)
{
wi[i] = input.nextInt();
}
int position = m;
int[] countTime = new int [m];
for (int i = 0; i < m; i++)
{
countTime[i] = wi[i];
}
while (position < n)
{
countTime[findMin(countTime)] += wi[position++];
}
System.out.println(findMax(countTime));
}
public static int findMin(int[] countTime)
{
int min = countTime[0];
int minIndex = 0;
for (int i = 1; i < countTime.length; i++)
{
if (countTime[i] < min)
{
min = countTime[i];
minIndex = i;
}
}
return minIndex;
}
public static int findMax(int[] countTime)
{
int max = countTime[0];
for (int i = 1; i < countTime.length; i++)
{
if (countTime[i] > max)
{
max = countTime[i];
}
}
return max;
}
}
import java.util.Scanner;
public class SortArray
{
public static void main(String [] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Number of input digits: ");
//System.out.println(Integer.MAX_VALUE);
int n = input.nextInt();
System.out.print("Enter " + n + " numbers: ");
int[] nNum = new int[n];
for (int i = 0; i < n; i++)
{
nNum[i] = input.nextInt();
}
sort(nNum);
for (int number : nNum)
{
System.out.println(number);
}
}
public static void sort(int[] num)
{
for (int i = 0; i < num.length - 1; i++)
{
int max = num[i];
int maxIndex = i;
for (int j = i + 1; j < num.length; j++)
{
if (num[j] > max)
{
max = num[j];
maxIndex = j;
}
}
if (maxIndex != i)
{
num[maxIndex] = num[i];
num[i] = max;
}
}
}
}
import java.util.Scanner;
import java.util.Arrays;
public class OpenLamp
{
public static void main(String [] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter the number of lamps: ");
int n = input.nextInt();
float[] ai = new float[n];
int[] ti = new int[n];
int mostLamp = 0;
for (int i = 0; i < n; i++)
{
ai[i] = input.nextFloat();
ti[i] = input.nextInt();
if (ai[i] * ti[i] > mostLamp)
{
mostLamp = (int)(ai[i] * ti[i]);
}
}
int[] lamps = new int[mostLamp];
Arrays.fill(lamps, 0);
for (int i = 0; i < 3; i++)
{
for (int j = 1; j <= ti[i]; j++)
{
int nLamp = (int)(ai[i] * j);
System.out.print(nLamp + " ");
if (lamps[nLamp - 1] == 0)
{
lamps[nLamp - 1] = 1;
}
else if (lamps[nLamp - 1] == 1)
{
lamps[nLamp - 1] = 0;
}
}
System.out.println();
System.out.println(Arrays.toString(lamps));
}
for (int i = 0; i < mostLamp; i++)
{
if (lamps[i] == 1)
{
System.out.println(i + 1);
break;
}
}
}
}