第一题:库存管理I

库存管理I
代码及思路:
// 简单的从无序元素中找到最小值
func inventoryManagement(stock []int) int {
if len(stock) == 0 { //去除数组为空的情况
return 0
}
min := stock[0] //定义最小值,初始值为数组第一个数
for i := 0; i < len(stock); i++ {
if stock[i] < min {
min = stock[i] //逐个比较,将较小的数赋值为min
}
}
return min
}
第二题:找出与数组相加的整数I

找出与数组相加的整数I
代码及思路:
// 找出与数组相加的整数 I
func addedInteger(nums1 []int, nums2 []int) int {
num1 := nums1[0]
num2 := nums2[0]
//由于题目设置的数组一定满足于x相加后,两数组相等,所以分别找到两个数组中最大的或最小的数,让两者相减即可得出x。
//忽略索引,直接遍历值
for _, num := range nums1 {
//找出num1中最大的数
if num > num1 {
num1 = num
}
}
//找出num2中最大的数
for _, num := range nums2 {
if num > num2 {
num2 = num
}
}
//返回两者相减的值
return num1 - num2
}
第三题:点名

点名
代码及思路:
func takeAttendance(records []int) int {
//题目给出的数组默认是从0开始升序排序的
//for循环一一对照
for i := 0; i < len(records); i++ {
if i != records[i] {
return i
}
}
return len(records) //提交后才知道当没有排序的数列没有缺席的时候,返回的是i+1,而len(records)=i+1,所以直接返回len(records)
}