当前位置: 首页 > 知识库问答 >
问题:

将数组[“null”、“0”、“1”、“2”、“2”、“1”、“0”]转换为[“1”、“1.1”、“1.1.1”、“a”、“b”、“1.1.2”、“1.2”]

刘建中
2023-03-14

我已经花了所有的努力来解决这个问题。:)我请求帮助。

为了理解:

“空”-第(-

“数字”——父母的位置。第一分段(-

所以

[“空”、“0”、“1”、“2”、“2”、“1”、“0”]到[“1”、“1.1”、“1.1.1”、“a”、“b”、“1.1.2”、“1.2”]

  • “null”:第一个元素“null”-

共有1个答案

夏侯瑞
2023-03-14

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

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
}
 类似资料:
  • 本文向大家介绍题目 info: { a.b: 1, c: 2 }, 转化为 info2:{ a: { b: 1 }, c: 2 }相关面试题,主要包含被问及题目 info: { a.b: 1, c: 2 }, 转化为 info2:{ a: { b: 1 }, c: 2 }时的应答技巧和注意事项,需要的朋友参考一下 No description provided.

  • 本文向大家介绍 a = [1,2,3] 和 b = [(1),(2),(3) ] 以及 b = [(1,),(2,),(3,) ] 的区别?相关面试题,主要包含被问及 a = [1,2,3] 和 b = [(1),(2),(3) ] 以及 b = [(1,),(2,),(3,) ] 的区别?时的应答技巧和注意事项,需要的朋友参考一下 补充:    

  • 我有一个像这样的麻木数组: 我不明白: : 因为我认为两者应该给出完全相同的结果?我的意思是后面的应该只代表第一个元素,对吗?那么,两者到底有什么区别?

  • 问题内容: 我下面有一个数组: 我想要的是基于阈值将此向量转换为二进制向量。以threshold = 0.5为例,大于0.5的元素将转换为1,否则转换为0。 输出向量应如下所示: 我怎样才能做到这一点? 问题答案: 布尔取暖 特殊情况: 如果您的数组值是介于0和1之间的浮动值并且您的阈值为0.5,则这是最佳解决方案。

  • 问题内容: 有谁知道如何在PHP中将数字1、2或3转换为其文本版本(一,二,三)?我只需要从1转换为99。我知道我可以写一个很大的switch语句,但这太荒谬了。 问题答案: 梨有一个软件包Numbers_Words:

  • 问题内容: 在我的Python程序的某些部分,我有一个val变量,可以为1或0。如果为1,则必须更改为0,如果为0,则必须更改为1。 您如何以Python方式进行操作? 它太长了! 我做了: 所以我可以使用它: 还有其他想法吗? 问题答案: 这不是pythonic,但与语言无关。通常是最简单的。