1、2、3 等) “number” - 父级的位置。如果父级为“null”,则为第一个子段落(-> 1.-6ren">
gpt4 book ai didi

java - 将数组 ["null"、 "0"、 "1"、 "2"、 "2"、 "1"、 "0"] 转换为 ["1, ' 1. 0x10 4567910 1.1。 1', 'a', 1', ', 'b', '1.1.2']

转载 作者:太空宇宙 更新时间:2023-11-04 10:10:21 26 4
gpt4 key购买 nike

我已经尽一切努力来解决这个问题。 :) 我寻求帮助。

<小时/>

为了理解:

“null” - 段落(-> 1、2、3 等)

“number” - 父级的位置。如果父级为“null”,则为第一个子段落(-> 1.1、2.4 等),否则如果父级为“number”,则为第二子段落(-> 1.1.1、2.4.2 等),否则如果父级为“number”并且也有父级“number”,则这是第三个子段落(a、b、c 而不是 1.1.1.1、1.1.1.2 等)。

所以..

["null"、"0"、"1"、"2"、"2"、"1"、"0"] 到 ["1、'1.1'、'1.1.1'、'a'、'b'、'1.1.2'、'1.2']

  • “null”:第一个元素“null”-> 1
  • “0”:第二个元素的父元素位于位置 0。(旧数组中的父元素值为“null”,新数组中的值为“1”)-> 第一个子段落 -> 1.1
  • “1”:第三个元素的父元素位于位置 1。(旧数组中值为“0”的父元素或新数组中值为“1.1”的父元素) -> 第二个子段落 -> 1.1.1
  • “2”:第四个元素的父元素位于位置 2。(旧数组中值为“1”的父元素或新数组中值为“1.1.1”的父元素) -> 第三个子段落 -> a 而不是 1.1.1.1
  • “2”:第五个元素的父元素位于位置 2。(旧数组中的父元素值为“1”或新数组中的值为“1.1.1”) -> 第三个子段落 -> a 已经 -> b
  • “1”:第六个元素的父元素位于位置 1。(旧数组中的父元素值为“0”,新数组中的值为“1.1”) -> 第二个子段落 -> 1.1.1 已经 -> 1.1.2
  • “0”:第七个元素的父元素位于位置 0。(旧数组中的父元素值为“null”,新数组中的值为“1”) -> 第一个子段落 -> 1.1 已经 -> 1.2

最佳答案

<小时/>

!更新!

我不敢相信,但我做到了!这是我的新代码,如果它对某人有帮助的话。

assert testFunction(["null", "0", "0"]) == [1, '1.1', '1.2']
assert testFunction(["null", "0", "1", "2", "null", "4", "5", "6", "null", "8", "9"]) == [1, '1.1', '1.1.1', 'a', 2, '2.1', '2.1.1', 'a', 3, '3.1', '3.1.1']
assert testFunction(["null", "null", "null"]) == [1, 2, 3]
assert testFunction(["null", "null", "1"]) == [1, 2, '2.1']
assert testFunction(["null", "0", "1"]) == [1, '1.1', '1.1.1']
assert testFunction(["null", "0", "null"]) == [1, '1.1', 2]
assert testFunction(["null", "0", "0", "2", "2", "null"]) == [1, '1.1', '1.2', '1.2.1', '1.2.2', 2]
assert testFunction(["null", "0", "1", "2", "2", "2", "2"]) == [1, '1.1', '1.1.1', 'a', 'b', 'c', 'd']
assert testFunction(["null", "0", "1", "2", "2", "1", "0"]) == [1, '1.1', '1.1.1', 'a', 'b', '1.1.2', '1.2']
assert testFunction(["null", "0", "1", "2", "null", "4", "5", "6", "null", "8", "9"]) == [1, '1.1', '1.1.1', 'a', 2, '2.1', '2.1.1', 'a', 3, '3.1', '3.1.1']

def testFunction(array) {
def count = 1
def subcount = 1
char subcountA = 'a'
def newArray = []
def value = []

array.each {
if (it.isInteger()) {
value += it as Integer
}
}

def max = value.max()
if(!max) max = 0

for(def j = 0 ; j <= max ; j++ ) {
count = 1
subcount = 1
subcountA = 'a'

for (def i = 0; i < array.size(); i++) {
def curr_value = array[i]

if (curr_value == "null") {
newArray[i] = count
count++
}

if(curr_value == j.toString()) {
newArray[i] = newArray[j] + "." + subcount
subcount++

if(newArray[i].length() > 5) {
newArray[i] = subcountA
subcountA++
}
}
}
}

print(array)
print(" - ")
println(newArray)
return newArray
}

关于java - 将数组 ["null"、 "0"、 "1"、 "2"、 "2"、 "1"、 "0"] 转换为 ["1, ' 1. 0x10 4567910 1.1。 1', 'a', 1', ', 'b', '1.1.2'],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52439837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com