我正在寻找一种生成字母序列的方法:
A, B, C, ..., Z, AA, AB, AC, ..., ZZ.
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议一种方便的方法.我可以使用哪些数据结构?
我想要获取序列中的下一个代码然后重置序列的方法.
我正在尝试在MySQL中创建一个序列(我对SQL作为一个整体非常新).我正在使用以下代码,但它会导致错误:
CREATE SEQUENCE ORDID INCREMENT BY 1 START WITH 622;
Run Code Online (Sandbox Code Playgroud)
ORDID指的是我正在使用的表中的字段.如何正确创建序列?
编辑:
据称,MySQL不使用序列.我现在使用以下代码,但这也导致错误.我该如何解决?
CREATE TABLE ORD (
ORDID NUMERIC(4) NOT NULL AUTO_INCREMENT START WITH 622,
//Rest of table code
Run Code Online (Sandbox Code Playgroud)
编辑:
我想我找到了解决办法.对于phpMyAdmin(我正在使用),您可以使用以下代码.
ALTER TABLE ORD AUTO_INCREMENT = 622;
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它更喜欢这个,但如果其他人需要帮助,那么你去吧.:)
我正在编写一个程序,它必须计算一组字符串的多序列对齐.我想在Python中这样做,但如果更实用,我可以使用外部软件或其他语言.数据不是特别大,我没有强大的性能要求,我可以容忍近似值(即我只需要找到足够好的对齐).唯一的问题是字符串是常规字符串(即UTF-8字符串可能带有应该被视为常规字符的换行符); 它们不是DNA序列或蛋白质序列.
我可以在生物信息学中找到大量的工具和信息,具有特定的复杂文件格式和一系列我不需要的功能,但是对于简单的字符串情况,很难找到软件,库或示例代码.我可以重新实现这个问题的许多算法中的任何一个,或者将我的字符串编码为DNA,但必须有更好的方法.你知道任何解决方案吗?
谢谢!
我已经配置了hibernate来使用oracle序列.使用cache = 20,increment = 1创建序列.
一切正常,hibernate持久化实体.id值很奇怪:50,51 .... 76,201,202 ... 209,1008,1009,5129,5130 ....
如果我要求序列值(从双重中选择hibernate_sequence.nextval),我得到的值就像2,3,4 ....
如果我打开hibernate sql debug,有时间调用"从双重选择hibernate_sequence.nextval",但是由hibernate分配给ID的号码不会按顺序中继!
@Id
@Column(name = "ID", insertable = false, updatable = false)
@SequenceGenerator(name = "SequenceIdGenerator", sequenceName = "HIBERNATE_SEQUENCE")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SequenceIdGenerator")
private Long id;
Run Code Online (Sandbox Code Playgroud) 我一直很喜欢Data.Sequence.但是,由于我一直在学习Data.Vector,它似乎可以做Data.Sequence可以做的一切,但更好,再加上它可以做更多的东西.我们应该弃用Data.Sequence并讲道Data.Vector吗?在Data.Vector上使用Data.Sequence有什么好的理由吗?
def fibSeq(n: Int): List[Int] = {
var ret = scala.collection.mutable.ListBuffer[Int](1, 2)
while (ret(ret.length - 1) < n) {
val temp = ret(ret.length - 1) + ret(ret.length - 2)
if (temp >= n) {
return ret.toList
}
ret += temp
}
ret.toList
}
所以上面是我使用Scala生成一个Fibonacci序列的代码n.我想知道Scala中是否有更优雅的方法可以做到这一点?
该方法List<T>.AddRange(IEnumerable<T>)将一组项添加到列表的末尾:
myList.AddRange(moreItems); // Adds moreItems to the end of myList
Run Code Online (Sandbox Code Playgroud)
将一组项目(如某些项目IEnumerable<T>)添加到列表开头的最佳方法是什么?
我正在寻找最基本的方法,根据序列中缺少的数字将数字列表拆分成较小的列表.例如,如果初始列表是:
seq1 = [1, 2, 3, 4, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)
该函数将产生:
[[1, 2, 3, 4], [6, 7, 8, 9, 10]]
Run Code Online (Sandbox Code Playgroud)
要么
seq2 = [1, 2, 4, 5, 6, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)
会导致:
[[1, 2], [4, 5, 6], [8, 9, 10]]
Run Code Online (Sandbox Code Playgroud) 如果我打电话toSeq给一个不可变的Set集合,我会得到一个ArrayBuffer.
scala> Set(1,2,3).toSeq // returns Seq[Int] = ArrayBuffer(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
这让我感到惊讶.鉴于Scala强调使用不可变数据结构,我期望得到一个不可变的序列,如a Vector或List代替mutable ArrayBuffer.set元素的返回顺序当然应该是未定义的,但似乎没有任何语义上的原因,为什么这个顺序也应该是可变的.
一般来说,我希望Scala操作总是产生不可变的结果,除非我明确请求一个可变的结果.这一直是我的假设,但这里是一个不正确的,我实际上只花了一个小时调试一个问题,其中一个意外的存在ArrayBuffer导致一个match语句中的运行时错误.我的修复是改变Set(...).toSeq到Set(...).toList,但这种感觉就像一个黑客,因为有我的应用程序没有什么需要在这一点上特别的列表.
Set(...).toSeq在Scala的实现中返回一个可变对象是一个缺陷,还是有一个我在这里误解的原则?
这是Scala 2.9.2.
我正在尝试创建6个案例的序列,但间隔为144个案例.
比如这个
c(1:6, 144:149, 288:293)
1 2 3 4 5 6 144 145 146 147 148 149 288 289 290 291 292 293
Run Code Online (Sandbox Code Playgroud)
我怎么能自动生成这样的序列
seq
Run Code Online (Sandbox Code Playgroud)
还是与其他功能?