问题描述
我正在努力实现以下结果...
输入,表A
-----+--------+--------+-----+-------+----------+----------+---------+
sub | c_f | type | F_G | layer | dec_2020 | jan_2021 | feb_2021
-----+--------+--------+-----+-------+----------+----------+---------+
A600 | Core | Analog | F | 50 | d_val_1 | j_val_1 | f_val_1
A600 | Core | Analog | F | 60 | d_val_2 | j_val_2 | f_val_2
A600 | future| Analog | G | 32 | d_val_3 | j_val_3 | f_val_3
-----+--------+--------+-----+-------+----------+----------+---------+
我会得到这个输出
-----------+-----+--------+--------+-----+-------+----------+
month_year | sub | c_f | type | F_G | layer | values
-----------+-----+--------+--------+-----+-------+----------+
dec_2020 |A600 | Core | Analog | F | 50 | d_val_1
dec_2020 |A600 | Core | Analog | F | 60 | d_val_2
dec_2020 |A600 | future| Analog | G | 32 | d_val_3
jan_2021 |A600 | Core | Analog | F | 50 | j_val_1
jan_2021 |A600 | Core | Analog | F | 60 | j_val_2
jan_2021 |A600 | future| Analog | G | 32 | j_val_3
feb_2021 |A600 | Core | Analog | F | 50 | f_val_1
feb_2021 |A600 | Core | Analog | F | 60 | f_val_2
feb_2021 |A600 | future| Analog | G | 32 | f_val_3
-----+--------+--------+-----+-------+----------+----------+
我正在尝试使用交叉应用,我可以创建列“month_year”,但我不知道如何合并最后一列中的“值”。 感谢帮助!
解决方法
我认为这基本上是void NearestNeighbor_Iterative(Node * root,float vector[3])
{
std::stack<Node *> s;
Node * cur = root;
bool e = false;
unsigned short depth = 0;
while (cur != NULL || s.empty() == false)
{
if(cur != NULL)
e = true;
while (cur != NULL)
{
d0 = cur->vector[0] - vector[0];
d1 = cur->vector[1] - vector[1];
d2 = cur->vector[2] - vector[2];
d = d0 * d0 + d1 * d1 + d2 * d2;
if (d < shortest)
{
shortest = d;
shortest_node = root;
if (shortest == 0)
break;
}
diff[depth] = cur->vector[depth % 3] - vector[depth % 3];
s.push(cur);
cur = diff[depth] > 0 ? cur->l : cur->r;
depth++;
}
if (e)
depth--;
else
depth -= 2;
cur = s.top();
s.pop();
if (diff[depth] * diff[depth] < shortest)
{
e = false;
cur = diff[depth] > 0 ? cur->r : cur->l;
depth++;
}
else
{
cur = nullptr;
}
}
}
:
apply
,
使用 func getUsernameColor(username: String) -> String{
let colors = [
"#e21400","#91580f","#f8a700","#f78b00","#58dc00","#287b00","#a8f07a","#4ae8c4","#3b88eb","#3824aa","#a700ff","#d300e7"
]
var hash: UInt32 = 7
for char in username {
let hashAddition = char.unicodeScalars.first!.value.addingReportingOverflow((hash << 5))
hash = hashAddition.partialValue.subtractingReportingOverflow(hash).partialValue
}
let index = abs(Int(hash) % colors.count)
print(index)
return colors[index]
}
:
.scss