1

最新バージョンの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%になります。ありがとうございました。

4

1 に答える 1

1

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
于 2012-10-12T17:51:46.433 に答える