麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

SQL計算字符串中最大的遞增子序列的方法

2024-08-31 01:03:03
字體:
來源:轉載
供稿:網友

求字符串中最大的遞增子序列

數據庫環境:SQL SERVER 2005

如題,求字符串“abcbklmnodfghijkmer”中最大的遞增子序列。這個字符串有點特別,

只由26個小寫字母a-z組成。

大概思路如下:

1.將字符串轉到一列存儲,并生成行號

2.設置一個遞增計數器列,默認為1,比較上下行的字符,如果在字典中的順序是遞增,

則計數器加1,否則,計數器置1

3.找出計數器最大的數及對應的行號,根據這2個數截取字符串

思路有了,下面直接貼代碼

DECLARE @vtext VARCHAR(255)SET @vtext = 'abcbklmnodfghijkmer'/*講字符串轉成一列存儲,并生成行號*/WITH x0AS ( SELECT number AS id ,SUBSTRING(@vtext, number, 1) AS letterFROM master.dbo.spt_valuesWHERE type = 'P'AND number <= LEN(@vtext)AND number >= 1),/*實現計數器*/ x1 ( id, letter, clen )AS ( SELECT id ,letter ,1 AS clenFROM x0WHERE id = 1UNION ALLSELECT x0.id ,x0.letter ,CASE WHEN x1.letter <= x0.letter THEN x1.clen + 1ELSE 1END AS clenFROM x0 ,x1WHERE x0.id = x1.id + 1) /*截取字符串*/ SELECT SUBSTRING(@vtext, start, sublen) AS 最大子序列 FROM ( SELECT id ,clen ,MAX(clen) OVER ( ) AS maxclen ,id - MAX(clen) OVER ( ) + 1 AS start ,MAX(clen) OVER ( ) AS sublenFROM x1) t WHERE clen = maxclen

求出的最大子序列是

SQL計算字符串中最大的遞增子序列的方法

通過以上的思路和代碼,希望可以對大家有所啟迪和幫助。

您可能感興趣的文章:

  • 求數組中最長遞增子序列的解決方法
  • C語言實現最長遞增子序列問題的解決方法
  • Tags:字符串 遞增子序列

    上一篇:SQL Server 2005 定時執行SQL語句的方法

    下一篇:PowerDesigner中如何導入SQL Server數據庫

    相關文章

    文章評論

    最 近 更 新

    熱 點 排 行

    關于我們 - 廣告合作 - 聯系我們 - 免責聲明 - 網站地圖 - 投訴建議 - 在線投稿

    CopyRight © 2006-2015 腳本之家 JB51.Net , All Rights Reserved

    SQL計算字符串中最大的遞增子序列的方法

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 国产亚洲精品久久久久5区 日韩一级片一区二区三区 国产精品久久久久av | 国产精品福利一区 | 92看片淫黄大片欧美看国产片 | 国产亚洲精品久久久久久久软件 | 欧美成人二区 | 黄色一级毛片免费看 | 国产成人高清成人av片在线看 | 久久综合九色 | 欧美一级成人 | 国产精品片一区二区三区 | 日韩视频在线不卡 | 亚洲一区在线观看视频 | 黄色av片在线观看 | jizzjizz中国人少妇中文 | sesee99| 97中文字幕第一一一页 | 国内精品久久久久久久久久 | 狠狠久久伊人中文字幕 | 一级国产免费 | 久久激情免费视频 | 在线成人免费视频 | 日日噜噜噜夜夜狠狠久久蜜桃 | 欧美成人一二三区 | 久久久三区 | 成人在线视频免费观看 | 国产一区二精品区在线 | 91久久精品一二三区 | 综合网日日天干夜夜久久 | 精品亚洲午夜久久久久91 | 欧洲成人综合网 | 国产亚洲精品综合一区91555 | 欧美黄色一区 | 一级在线 | 天堂福利电影 | 成人羞羞在线观看网站 | 成人福利在线看 | 91在线免费观看 | 一级黄色淫片 | 一级做a爱视频 | 九九热久久免费视频 | 草逼一区 |