所以我很难过,因为我非常精通Java,所以我无法想象这个看似微不足道的东西,但无论如何,我的Python教授为我们分配了一个实验室,我们必须创建一个基于行的字母模式和列位置.没有循环或迭代,只是条件语句.
例如,这个功能:
def letter(row, col):
if row>col:
return 'T'
else:
return 'W'
Run Code Online (Sandbox Code Playgroud)
会屈服:
WWWWWWWWWWWWWWWWWWWW
TWWWWWWWWWWWWWWWWWWW
TTWWWWWWWWWWWWWWWWWW
TTTWWWWWWWWWWWWWWWWW
TTTTWWWWWWWWWWWWWWWW
TTTTTWWWWWWWWWWWWWWW
TTTTTTWWWWWWWWWWWWWW
TTTTTTTWWWWWWWWWWWWW
TTTTTTTTWWWWWWWWWWWW
TTTTTTTTTWWWWWWWWWWW
TTTTTTTTTTWWWWWWWWWW
TTTTTTTTTTTWWWWWWWWW
TTTTTTTTTTTTWWWWWWWW
TTTTTTTTTTTTTWWWWWWW
TTTTTTTTTTTTTTWWWWWW
TTTTTTTTTTTTTTTWWWWW
TTTTTTTTTTTTTTTTWWWW
TTTTTTTTTTTTTTTTTWWW
TTTTTTTTTTTTTTTTTTWW
TTTTTTTTTTTTTTTTTTTW
Run Code Online (Sandbox Code Playgroud)
如果通过他的驱动文件运行,行和col都等于20.
我坚持的那个是为模式创建一个函数:
XOOOOOX
OXOOOXO
OOXOXOO
OOOXOOO
OOXOXOO
OXOOOXO
XOOOOOX
Run Code Online (Sandbox Code Playgroud)
请不要给我答案,而是指向正确的方向.
到目前为止,我知道当row == col时,可以识别左 - 右对角线的X'.这是正确的 - >左对角线我遇到了问题.
非常感谢.
所以我被分配实现快速排序算法并比较大小为500,3500和80000的数组的运行时间.数组填充了随机数:
(INT)的Math.random()*1000000
我的快速排序算法适用于大小为500和3500的数组,但是当我尝试对大小为80000的第三个数组进行排序时,我总是遇到堆栈溢出错误.我的其他排序算法处理这些数组就好了.
我的快速排序方法:
public static void quickSort(int[] a, int p, int r)
{
if(p<r)
{
int q=partition(a,p,r);
quickSort(a,p,q);
quickSort(a,q+1,r);
}
}
Run Code Online (Sandbox Code Playgroud)
我的分区方法:
private static int partition(int[] a, int p, int r) {
int x = a[p];
int i = p;
int j = r;
while (true) {
do {
i++;
} while (i < r && a[i] < x);
do {
j--;
} while (j > p && a[j] > x);
if (i < j) {
int tmp = …Run Code Online (Sandbox Code Playgroud)