根据元素是否出现在另一个数组中拆分数组
发布时间:2022-08-04 21:37:20 310
相关标签:
在这种情况下,我有两个数组
oldIDs = [1, 2]
newIDs = [2, 3, 4]
问题:
“如何拆分”;新ID“;进入[2],[3,4]]?
说明:
2是旧id(存在于oldIDs
)
3&;4是新ID(在中不存在)oldIDs
)
其他示例:
oldIDs = [1]
newIDs = [1, 2]
// the result should be [[1], [2]]
oldIDs = [1, 3, 5]
newIDs = [3, 4, 7, 8]
// the result should be [[3], [4, 7, 8]]
这就是我用围棋所做的。
func splitIDs(oldIDs []int64, newIDs []int64) (arr1 []int64, arr2 []int64) {
for _, newID := range newIDs {
if contains(oldIDs, newID) {
arr1 = append(arr1, newID)
}
}
for _, newID := range newIDs {
if !contains(oldIDs, newID) {
arr2 = append(arr2, newID)
}
}
return
}
func contains(a []int64, x int64) bool {
for _, n := range a {
if x == n {
return true
}
}
return false
}
这也可以分为两个数组,不一定是二维数组。
我真的很感激有人能解决我的问题或改进我的解决方案。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报