我有一个填充*
的矩阵,其中-
代表病毒,[row + 1][col]
是病毒的免费地点,我必须在我的矩阵中查看每种病毒的邻居,一个有效的邻居是另一个病毒,而不是一个免费的地方,以确定他们的号码。我必须检查的邻居是[row - 1][col]
,[row][col + 1]
,[row][col - 1]
和if
,总共有四个邻居。我做了一个检查并覆盖所有情况的函数,例如,如果我检查的元素是矩阵的一个角。我想出了一个非常长的80行函数,它有很多if
语句。
是否有一种有效的方法(意思是行数)来检查所有这些,除了必须编写20 {{1}}语句?
答案 0 :(得分:0)
你可以做的是合并if语句导致相同的结果。这将导致更短(更易读)的代码,并且在某些情况下可以提高性能。
例如,如果你有:
if([row - 1][col])
// do A
else if([row][col + 1])
// do B
else if([row + 1][col])
// do A
然后你可以这样写:
if([row - 1][col] || [row + 1][col])
// do A
else if([row][col + 1])
// do B
执行此操作,您认为您的代码需要进一步改进,请在Code Review发帖。