题解 | #二维数组操作#

二维数组操作

https://www.nowcoder.com/practice/2f8c17bec47e416897ce4b9aa560b7f4?tpId=37&tqId=21306&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3Fdifficulty%3D2%26judgeStatus%3D3%26page%3D1%26pageSize%3D50%26search%3D%26tpId%3D37%26type%3D37%26dayCountBigMember%3D90%25E5%25A4%25A9&difficulty=2&judgeStatus=3&tags=&title=

就看了一圈,别的题解主要以实现功能为主。那我就写一份稍微规范一些的代码吧0.0

class TwoDArr:
    def __init__(self, m, n):
        if m > 9 or n > 9:
            return print(-1)
        self.arr = [[0]*n for _ in range(m)]
        return print(0)

    def ExchangeElm(self, x1, y1, x2, y2):
        if x1 < 0 or x1 >= len(self.arr) or y1 < 0 or y1 >= len(self.arr[0]):
            return -1
        if x2 < 0 or x2 >= len(self.arr) or y2 < 0 or y2 >= len(self.arr[0]):
            return -1
        self.arr[x1][y1] = self.arr[x2][y2]
        return 0

    def AddRow(self, x):
        if len(self.arr) >= 9 or x < 0 or x > len(self.arr)-1:
            return -1
        self.arr.insert(x-1, [0]*len(self.arr[0]))
        self.arr.pop()
        return 0

    def AddCol(self, y):
        if len(self.arr[0]) >= 9 or y < 0 or y > len(self.arr[0])-1:
            return -1
        for i in range(len(self.arr)):
            self.arr[i].insert(y-1, 0)
            self.arr[i].pop()
        return 0

    def GetElem(self, x, y):
        if x < 0 or x >= len(self.arr) or y < 0 or y >= len(self.arr[0]):
            return -1
        return self.arr[x][y]

while True:
    try:
        m, n = map(int, input().split()) # 初始化
        x1, y1, x2, y2 = map(int, input().split()) # 交换
        r = int(input()) # 行插入
        c = int(input()) # 列插入
        x, y = map(int, input().split()) # 查询元素

        Solution = TwoDArr(m, n)
        print(Solution.ExchangeElm(x1, y1, x2, y2))
        print(Solution.AddRow(r))
        print(Solution.AddCol(c))
        print(Solution.GetElem(x, y))

    except:
        break

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 15:39
点赞 评论 收藏
分享
湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务