列表

详情


GP36. 坐标转换

描述

已知一个m*n二维数组,二维数组中的元素的索引(x,y)可以表示为一个二维坐标,现将这个二维坐标转换为一维坐标,一维坐标=x*n+y。返回这个一维数组。

知识点:

数组:是同一种数据类型的固定长度的序列。

数组定义:var a [len]int,比如:var a [5]int,数组长度必须是常量,且是类型的组成部分。一旦定义,长度不能变。

长度是数组类型的一部分,因此,var a[5] int和var a[10]int是不同的类型。

数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1
    for i := 0; i < len(a); i++ {
    }
    for index, v := range a {
    }

访问越界,如果下标在数组合法范围之外,则触发访问越界,会panic

输入描述

输入任意一种类型的变量

输出描述

返回该具体类型

示例1

输入:

[[1,2,3],[4,5,6],[7,8,9]]

输出:

[1,2,3,4,5,6,7,8,9]

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Go 解法, 执行用时: 3ms, 内存消耗: 836KB, 提交时间: 2022-06-03

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param array int整型二维数组 
 * @return int整型一维数组
*/
func transform( array [][]int ) []int {
    // write code here
//     m:=len(array)
//     n:=len(array[0])
    var ans []int
    
    for i:=0;i<len(array);i++{
        for j:=0;j<len(array[0]);j++{
            ans=append(ans,array[i][j]) 
        }
    }
    return ans
}

Go 解法, 执行用时: 3ms, 内存消耗: 848KB, 提交时间: 2022-06-22

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param array int整型二维数组 
 * @return int整型一维数组
*/
func transform( array [][]int ) []int {
    // write code here
    m := len(array)
    n := len(array[0])
    var arr []int = make([]int, m*n)
    i := 0
    for a := 0; a < m; a++ {
        for b := 0; b < n; b++ {
            arr[i] = array[a][b]
            i++
        }
    }
    return arr
}

Go 解法, 执行用时: 3ms, 内存消耗: 848KB, 提交时间: 2022-06-09

package main;

func transform(array [][]int) []int {
	x := []int{};
	for i := 0; i < len(array); i++ {
		for j := 0; j < len(array[0]); j++ {
			x = append(x, array[i][j])
		}
	}
	return x;
}

Go 解法, 执行用时: 3ms, 内存消耗: 856KB, 提交时间: 2022-06-20

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param array int整型二维数组 
 * @return int整型一维数组
*/
func transform( array [][]int ) []int {
    // write code here
    var a []int 
    for _,v := range array {
        a = append(a,v...)
    }
    return a
}

Go 解法, 执行用时: 3ms, 内存消耗: 884KB, 提交时间: 2022-06-29

package main

//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param array int整型二维数组
 * @return int整型一维数组
 */
func transform(array [][]int) []int {
	var ret []int
	for i := 0; i < len(array); i++ {
        for j := 0; j < len(array[i]); j++ {
			ret = append(ret, array[i][j])
		}
	}
	return ret
}

上一题