让国内AI模型解题:滑动窗口中找出最大值,文心一言,通义千问错误率100%,讯飞星火略胜一筹

最近,一些大厂陆续放出了自己的AI模型,处于日常的使用和准确度,我通过一道试题来看一下文心一言、讯飞星火和通义千万的回答结果

本道题是一道很经典的算法题,请在滑动窗口中找出最大值

文心一言

  • 第一次给出答案
go 复制代码
package main  
  
import "fmt"  
  
func maxInWindows(nums []int, k int) []int {  
    if len(nums) < k {  
        return []int{}  
    }  
      
    win := make([]int, k)  
    copy(win, nums[:k])  
      
    for i := k; i < len(nums); i++ {  
        if win[0] < nums[i] {  
            win[0] = nums[i]  
        }  
        win = win[1:]  
        win = append(win, win[0])  
    }  
      
    return win  
}  
  
func main() {  
    nums := []int{1, 3, -1, -3, 5, 3, 6, 7}  
    k := 3  
    result := maxInWindows(nums, k)  
    fmt.Println(result)  // Output: [3 3 5 5 6 7]  
}

我运行结果如下,答案和执行结果并不匹配 它说自己写错了,又给了一个案列

go 复制代码
package main  
  
import "fmt"  
  
func maxInWindows(nums []int, k int) []int {  
    if len(nums) < k {  
        return []int{}  
    }  
      
    win := make([]int, k)  
    copy(win, nums[:k])  
      
    for i := k; i < len(nums); i++ {  
        if win[k-1] < nums[i] {  
            win[k-1] = nums[i]  
        }  
        win = append(win[:k-1], win[1:]...)  
    }  
      
    return win  
}  
  
func main() {  
    nums := []int{1, 3, -1, -3, 5, 3, 6, 7}  
    k := 3  
    result := maxInWindows(nums, k)  
    fmt.Println(result)  // Output: [3 3 5 5 6 7]  
}
  • 再次执行,还是不对
  • 对不起,文心一言又错了,果断放弃

讯飞星火

给出代码如下,代码注释也是自动生成的

go 复制代码
package main

import (
	"fmt"
)

func maxInSlidingWindow(nums []int, k int) []int {
	n := len(nums)
	if n == 0 || k <= 0 {
		return nil
	}

	result := make([]int, 0, n-k+1)
	window := make([]int, 0, k)

	for i := 0; i < n; i++ {
		// 移除窗口最左边的元素
		if len(window) > 0 && window[0] <= i-k {
			window = window[1:]
		}

		// 从后往前找到第一个小于等于当前元素的位置,将该位置之前的元素全部移除
		for len(window) > 0 && nums[window[len(window)-1]] <= nums[i] {
			window = window[:len(window)-1]
		}

		// 将当前元素添加到窗口中
		window = append(window, i)

		// 当窗口大小达到k时,将窗口中的最大值添加到结果中
		if i >= k-1 {
			result = append(result, nums[window[0]])
		}
	}

	return result
}

func main() {
	nums := []int{1, 3, -1, -3, 5, 3, 6, 7}
	k := 3
	fmt.Println(maxInSlidingWindow(nums, k)) // 输出: [3, 3, 5, 5, 6, 7]
}

执行结果吻合

  • 点击重新回答,给出和上次一致的代码

通义千问

  • 连个代码一键复制都没有,先扣2分
css 复制代码
package main

import (
	"fmt"
)

func maxInSlidingWindow(nums []int, k int) []int {
	if len(nums) == 0 || k == 0 {
		return nil
	}
	res := make([]int, 0)
	window := make([]int, k)
	for i := 0; i < k; i++ {
		for j := i; j >= 0 && nums[i] > window[j]; j-- {
			window[j] = nums[i]
		}
		res = append(res, window[0])
	}

	for i := k; i < len(nums); i++ {
		window = window[1:]
		window = append(window, nums[i])

		for j := 0; j < len(window)-1; j++ {
			if window[j+1] > window[j] {
				window[j], window[j+1] = window[j+1], window[j]
			}
		}

		res = append(res, window[len(window)-1])
	}

	return res
}

func main() {
	nums := []int{1, 3, -1, -3, 5, 3, 6, 7}
	k := 3
	fmt.Println(maxInSlidingWindow(nums, k))
}
  • 从执行结果来看,代码是错误的,给出的代码算法复杂,还算错了,关键还很自信
  • 再次给出代码
go 复制代码
package main

import (
	"fmt"
)

func maxInSlidingWindow(nums []int, k int) []int {
	if len(nums) == 0 || k == 0 {
		return nil
	}
	res := make([]int, 0)
	window := make([]int, k)
	var idx, winMax int
	for i := 0; i < len(nums); i++ {
		if idx != 0 {
			idx--
			window[idx] = nums[i]
		} else {
			winMax = nums[i]
		}
		for j := 0; j < k-1; j++ {
			if window[j+1] > winMax {
				winMax = window[j+1]
			}
		}
		res = append(res, winMax)
	}
	return res
}

func main() {
	nums := []int{1, 3, -1, -3, 5, 3, 6, 7}
	k := 3
	fmt.Println(maxInSlidingWindow(nums, k))
}

还是回答错了

汇总

准确度

讯飞星火给出的结果是准确的,这是一个AI模型的前提,否则的话,AI没有任何意义

功能性

  • 讯飞星火 可以让用户有更多的选择,比如生成ppt,简历,图片等
  • 文心一言 李彦宏没忘记自己是个商人,文心大模型3.5还没做好,已经放出了文心4.0的收费版本了,而且在插件方面,没有忘记给自己的旗下的产品引流。反正,别管好用不好用,打钱就对了。
  • 通义千问 让我咋说呢,不想做,就别勉强了。
相关推荐
bytebeats1 天前
我用 Spring AI 集成 OpenAI ChatGPT API 创建了一个 Spring Boot 小程序
spring boot·chatgpt·openai
DisonTangor2 天前
OpenAI 发布了新的事实性基准——SimpleQA
人工智能·openai
开发者每周简报4 天前
OpenAI推出搜索GPT,进军搜索引擎领域
人工智能·gpt·搜索引擎·ai·chatgpt·openai
Code_Artist5 天前
LangChain For Go:简化AI应用开发,极速构建LLM应用程序!
gpt·llm·openai
量子位5 天前
o1 满血版泄露!奥数题图片推理手拿把掐,奥特曼上线剧透 o2
人工智能·openai
戴着眼镜看不清9 天前
GPT避坑指南:如何辨别逆向、AZ、OpenAI官转
gpt·openai·azure·通义千问·api中转
量子位14 天前
LeCun 锐评诺奖:出于压力才颁给 AI,但两个成果已经完全无用,玻尔兹曼机和 Hopefield 网络
人工智能·openai
孟健15 天前
深度剖析Claude 3.5新能力: 实现优雅,效果惊艳!
人工智能·openai·claude
z千鑫15 天前
【OpenAI】第六节(语音生成与语音识别技术)从 ChatGPT 到 Whisper 的全方位指南
人工智能·chatgpt·whisper·gpt-3·openai·语音识别·codemoss能用ai
孟健17 天前
OpenAI Canvas:乘兴而至,败兴而归!
openai