Syntax
C
o
l
o
r
i
z
e
r
Format
public class RevealTriangle { public string[] calcTriangle(string[] questionMarkTriangle) { int n = questionMarkTriangle.Length; // строки в C# неизменяемые, поэтому используем массив массивов символов char[][] res = new char[n][]; for (int i = 0; i < n; i++) res[i] = questionMarkTriangle[i].ToCharArray(); for (int row = n - 2; row >= 0; row--) { char[] cur = res[row]; char[] prev = res[row + 1]; int qPos = Array.FindIndex(cur, delegate(char obj) { return obj != '?'; }); for (int i = qPos - 1; i >= 0; i--) cur[i] = Solve(cur[i + 1], prev[i]); for (int i = qPos + 1; i < cur.Length; i++) cur[i] = Solve(cur[i - 1], prev[i - 1]); } return Array.ConvertAll<char[], string>(res, delegate(char[] input) { return new string(input); }); } private char Solve(char b, char c) { int res = c - '0' - (b - '0'); if (res < 0) res += 10; return (char) (res + '0'); } }
Autodetect
C
C++
C#
Java
JavaScript
Scala
SQL
Python
XML
Generic
Format
Edit
permlink
public
class
RevealTriangle
{
public
string
[
]
calcTriangle
(
string
[
]
questionMarkTriangle
)
{
int
n
=
questionMarkTriangle
.
Length
;
//
строки
в
C#
неизменяемые,
поэтому
используем
массив
массивов
символов
char
[
]
[
]
res
=
new
char
[
n
]
[
]
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
res
[
i
]
=
questionMarkTriangle
[
i
]
.
ToCharArray
(
)
;
for
(
int
row
=
n
-
2
;
row
>=
0
;
row
--
)
{
char
[
]
cur
=
res
[
row
]
;
char
[
]
prev
=
res
[
row
+
1
]
;
int
qPos
=
Array
.
FindIndex
(
cur
,
delegate
(
char
obj
)
{
return
obj
!=
'?'
;
}
)
;
for
(
int
i
=
qPos
-
1
;
i
>=
0
;
i
--
)
cur
[
i
]
=
Solve
(
cur
[
i
+
1
]
,
prev
[
i
]
)
;
for
(
int
i
=
qPos
+
1
;
i
<
cur
.
Length
;
i
++
)
cur
[
i
]
=
Solve
(
cur
[
i
-
1
]
,
prev
[
i
-
1
]
)
;
}
return
Array
.
ConvertAll
<
char
[
]
,
string
>
(
res
,
delegate
(
char
[
]
input
)
{
return
new
string
(
input
)
;
}
)
;
}
private
char
Solve
(
char
b
,
char
c
)
{
int
res
=
c
-
'0'
-
(
b
-
'0'
)
;
if
(
res
<
0
)
res
+=
10
;
return
(
char
)
(
res
+
'0'
)
;
}
}
Edit
For you blog
Insert <br> for newlines
Insert newlines for newlines
Insert for indent
Surround code with <pre> element
For web page
About
|
Send us feedback