让国内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的收费版本了,而且在插件方面,没有忘记给自己的旗下的产品引流。反正,别管好用不好用,打钱就对了。
  • 通义千问 让我咋说呢,不想做,就别勉强了。
相关推荐
营赢盈英8 小时前
Allow anonymous access to my Azure OpenAI chat bot
ai·openai·azure·webapps
网络研究院2 天前
解码 OpenAI 的 o1 系列大型语言模型
人工智能·语言模型·自然语言处理·openai·技术·推理·能力
营赢盈英2 天前
OpenAI GPT-3 API error: “You must provide a model parameter“
chatgpt·gpt-3·openai·swift
营赢盈英2 天前
OpenAI API key not working in my React App
javascript·ai·openai·reactjs·chatbot
营赢盈英2 天前
Using OpenAI API from Firebase Cloud Functions in flutter app
ai·node.js·openai·googlecloud·firebase
营赢盈英5 天前
404 error when doing workload anlysis using locust on OpenAI API (GPT.35)
人工智能·python·openai·locust
CaiYongji5 天前
深度!程序员生涯的垃圾时间(上)
人工智能·gpt·chatgpt·openai
营赢盈英6 天前
How to see if openAI (node js) createModeration response “flagged“ is true
javascript·ai·node.js·openai·api
营赢盈英7 天前
How to handle the response OpenAI Text-To-Speech API in Node.js?
ai·node.js·openai·openai api·response
营赢盈英9 天前
Azure OpenAI models being unable to correctly identify model
ai·openai·azure·azure ai