gpt4 book ai didi

c++ - SQLITE 是否可以计算最长递增子序列的长度,也称为排序百分比?

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:17 25 4
gpt4 key购买 nike

使用最新版本的 Sqlite,是否可以使用 sqlite UDF 用户定义函数计算最长递增子序列的长度,也称为排序百分比?

2012 年 10 月 15 日根据@Code-Guru 的要求进行编辑。

按照项目大师的示例序列 -- 1,2,3,4,3,5,6,7,8,10 -- 发现数字排序的升序子序列为 1,2,3,4, 5,6,7,8,10 使用包含最近单调递增序列成员值的自动变量并按顺序遍历数组。结果,排序后的数字升序子序列的长度为9。整个序列的长度为10。因此,排序百分比为(9/10) * 100% = 90%。谢谢。

最佳答案

Sqlite 没有任何实现最长递增子序列的功能,因此您需要一个用户定义的函数

您可以按函数结果排序。我认为 UDF 在这方面没有受到任何区别对待。

这是一个示例,说明如何使用函数(用户定义或非用户定义)对查询结果进行排序。

sqlite> create table foo(a);
sqlite> create table foobar(a);
sqlite> create table fubar(a);
sqlite> select name, length(name) as len from sqlite_master;
foo|3
foobar|6
fubar|5
sqlite> select name, length(name) as len from sqlite_master order by len;
foo|3
fubar|5
foobar|6

关于c++ - SQLITE 是否可以计算最长递增子序列的长度,也称为排序百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12859686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com