Questions tagged «search»

挑战涉及搜索某些数据以找到某个或多个特定元素。

15
西班牙车牌游戏
这个问题是基于我用西班牙语问的一个问题。是的,我要求使用西班牙语的算法。:) 在西班牙,当前的车牌具有以下模式: 1234 XYZ 其中XYZ是从全套西班牙辅音中选取的三个辅音(我认为“Ñ”除外)。 有时候,和我妻子一起旅行时,我们会玩游戏。当我们看到一个车牌时,我们将其三个辅音词拼成一个单词,其中包含这三个辅音词,其顺序与车牌中的顺序相同。示例(西班牙语): BCD BoCaDo (valid) CaBezaDa (not valid) FTL FaTaL (valid) FLeTar (not valid) FTR FleTaR (valid, wins) caFeTeRa (valid, loses) 如上一个示例所示,获胜者是使用最少字符的人。 挑战 编写最短的程序或函数,该程序或函数接收单词列表和一组三个辅音,并在包含相同顺序的三个辅音的列表中找到最短的单词。就本游戏而言,大小写无关紧要。 单词列表(第一个参数)的输入将是您的语言string类型的数组。第二个参数(三个辅音)将是另一个string。如果对您的语言更好,请string与三个辅音一起放在整个参数列表的最后一项。输出将是另一个string。 单词列表中的单词不会被发明,也不会是无限的单词,它们会出现在任何标准词典中。如果需要限制,请假设单词列表中的单词长度不能超过50个字符。 如果有多个长度相同的单词可能是有效答案,则可以返回其中任何一个。只要确保您只返回一个单词,或者如果没有单词匹配三个辅音的模式,则返回一个空字符串。 您可以在组中重复辅音,因此三个辅音的有效输入均为FLR和GGG。 西班牙辅音与英语完全相同,但加了“Ñ”。元音与重读元音的附加词相同:“áéíóúü”。不会有其他类型的标记,例如“-”或“'”。 您可以假设单词列表和三个辅音的大小写始终相同。 如果要使用西班牙语单词的真实集合来测试算法,则可以从Dropbox下载一百万个单词以上的文件(15.9 MB)。 测试用例 Input: 'psr', {'hola' 'repasar' 'pasarais' 'de' 'caída' 'pequeñísimo' 'agüeros'} Output: 'repasar' Input: 'dsd', …

14
自动化OEIS
我们在这里看到了很多挑战,要求从OEIS创建函数来创建序列。尽管这些挑战很有趣,但作为一名程序员,我看到了自动化的机会。 您的挑战是制作一个程序,该程序采用序列的索引(例如A172141)和某个整数n(例如7),并从适当的网页中提取适当的值。 输入输出 如前所述,您的程序应采用序列索引和某个值n作为输入,并输出该序列中的第n个项。您接受序列B文件中的任何索引。如果索引大于B文件中列出的最大索引,则您可能会引发异常或输出您选择的内容(测试用例中没有)。允许使用标准的输入和输出方法。 网络使用限制 除https://oeis.org和http://oeis.org之外,您不应访问任何其他网站。这包括网址缩短器,您自己的个人网站以及此问题本身。如果您想访问其他网站,并且认为允许这样做并非不公平,则可以发表评论,我将进行仲裁。 计分 这是一个代码挑战,因此在其源代码中使用最少字节的程序将获胜。不允许出现标准漏洞。 测试用例 假设您的计算机具有正确的Internet连接并且OEIS服务器已启动并且正在运行,则以下输入和输出应该对应。 A172141, 7 -> 980 A173429, 4 -> 276 A190394, 6 -> 16 A002911, 11 -> 960 A052170, 3 -> 24 A060296, 8 -> 3 A178732, 5 -> 27 A000001, 1 -> 1 A000796, 314 -> 3 A001622, 162 -> 8 …

3
当生活给你柠檬时,做柠檬水
挑战 您将得到一个输入字符串,任何地方的话"Lemon"是发现它应转换到"Lemonade" ,但是在a,d和e在句子中必须借用了别的地方。 例 输入示例: 我小时候发现一个柠檬 示例输出: 我小时候就喝柠檬水 该柠檬水是由从原来的偷下标字母创建 我foun d柠檬水WH é ñ我是一个孩子 这只是一个可能的输出示例,“ e”,“ d”和“ a”可以从任何地方获取(当然单词除外lemon) 评论 •如果,或s 不足e,则必须输出给定字母可进行的操作。例如,输入将输出adbdblemonbblemond • lemon文本可能并不总是独立的(两边都有空格)。例如,您可能lemons在输入中的某处有单词,而输出应为lemonades •输入可以包含任意数量的lemons,甚至0 lemons(在这种情况下,输出将与输入相同) •您可以用大写和小写字母来制作您的柠檬水,例如leMon可以变成leMonade,而ade借用可以是任意大小写(因此也可以变成leMonADe)。您借用的信件的大小写必须保持与借用时相同。(示例输入->输出,he hAD lemOn-> h h lemOnADe) •不必是一个完整的程序,仅一个功能就可以。 •您可以假设输入仅是CP437字符集 高尔夫代码 这是代码高尔夫球,因此赢得最少的字节数! 伪测试案例 *注意:对于任何给定的输入,可能会有多个可能的输出,因此您的程序可能无法完全按照这些测试用例的方式输出,这仅仅是为了使人们可以理解逻辑: 输入:EpaD leMons 输出:p LeMonaDEs 输入:hello world 输出:hello world 输入:柠檬柠檬 输出:柠檬柠檬 *(本e,a,d字母不应该从另一个“柠檬”拍摄) 输入:HE HAD柠檬水 输出:HH …
21 code-golf  string  code-golf  parsing  internet  stack-exchange-api  code-challenge  kolmogorov-complexity  restricted-source  brain-flak  python  logic  pyth  code-golf  string  search  optimized-output  code-golf  tips  language-design  golfing-language  code-golf  tips  language-design  code-golf  number  sorting  pi  code-golf  math  number  code-golf  string  balanced-string  classification  brain-flak  code-golf  math  number-theory  decision-problem  code-golf  tips  code-golf  number  sequence  code-golf  balanced-string  brain-flak  code-golf  math  sequence  arithmetic  fibonacci  code-golf  math  parsing  code-golf  string  keyboard  code-golf  code-golf  string  source-layout  whitespace  code-golf  math  rational-numbers  code-golf  string  code-golf  string  code-golf  math  sequence  code-golf  number  floating-point  code-golf  string  decision-problem  subsequence  code-golf  string  kolmogorov-complexity  code-golf  string  permutations  balanced-string  brain-flak  code-golf  string  math  number  code-golf  string  primes  cipher  code-golf  string  ascii-art  chemistry  code-golf  ascii-art  grid  counting  code-golf  math  arithmetic  integer  code-golf  number  kolmogorov-complexity  code-golf  ascii-art  kolmogorov-complexity  sequence  metagolf  brain-flak  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  whitespace 

20
我的[sub]字符串隐藏了!
介绍 不久前,一个迷失的SO用户在这里发布了一个问题,现在将其删除了,但我认为这将是一个很好的挑战,所以就在这里... 挑战 编写一个包含两个字符串并检查第一个字符串的任何排列是否为第二个字符串的子字符串的完整程序或函数。 输入项 两个字符串,一个字符串和一个子字符串进行测试(您可以选择顺序)。 输出: 如果字符串包含子字符串的任何排列,则为真实值。 如果字符串不包含子字符串的任何排列,则为falsey值。 该测试区分大小写。 示例/测试用例 sub-string string input d!rl Hello World! output truthy input Pog Programming Puzzles & Code Golf output falsey input ghjuyt asdfhytgju1234 output truthy

28
寻找你的伴侣
挑战 给定一个任意的2元组列表,并在其中一个元组中包含一个元素,则输出其“伙伴”,即给出a和[(i,j),...,(a,b),...,(l,m)]输出b。您可以假定所有元组都是唯一的,并且元组中的所有元素都是字符串。进一步假设您同时没有(x,y)和(y,x)。 测试用例 Input Output [("(", ")"), ("{", "}"), ("[", "]")], "}" "{" [("I'm", "So"), ("Meta", "Even"), ("This", "Acronym")], "Even" "Meta" [("I", "S"), ("M", "E"), ("T", "A")], "A" "T" [("test", "cases"), ("are", "fun")], "test" "cases" [("sad", "beep"), ("boop", "boop")], "boop" "boop" 最小字节获胜!

5
最短的简单正则表达式匹配二进制单词
任务 将简单的正则表达式定义为仅包含以下内容的非空正则表达式 字符0和1, 分组括号(和), 一个或多个重复量词+。 给定0s和1s 的非空字符串,您的程序应找到与完整输入字符串匹配的最短简单正则表达式。(也就是说,当匹配一个简单的正则表达式时,假装它由^ 和 预定$。)如果有多个最短的正则表达式,请打印其中的一个或全部。 code-golf,所以最短的提交(以字节为单位)获胜。 测试用例 1 -> 1 00 -> 00 or 0+ 010 -> 010 1110 -> 1+0 01010 -> 01010 0101010 -> 0(10)+ or (01)+0 011111 -> 01+ 10110110 -> (1+0)+ 01100110 -> (0110)+ or (01+0)+ 010010010 -> (010)+ 111100111 -> 1+001+ …

22
建立字母金字塔
今天,我们要用字母建造一座金字塔!这是前5个字母的示例字母金字塔: 在前5个字母之间写下一个空格,先升后降。 A B C D E D C B A 对上面一行的前四个字母执行相同的操作,但是要有两个额外的前导空格: A B C D C B A A B C D E D C B A 重复相同的步骤,直到最后一行只是'A' A A B A A B C B A A B C D C B A A B C D E …

30
在文本中搜索前缀并在文本中列出其所有后缀
我在这里宽松地使用“后缀”来表示“前缀之后的任何子字符串”。 “前缀”在此表示单词的开始,其中单词的开始定义为空格或输入文本的第一个字符之后(对于第一个单词)。单词中间的“前缀”将被忽略。 例如,如果您输入的前缀是“ arm”,并且输入文本是“ Dumbledore的军队已为即将发生的世界末日大战充分武装”,则输出列表将包含(y,ed,ageddon)。 测试用例 假定区分大小写,字符串以空格结尾。输入将不会以空格开头。 删除重复项是可选的。 Input prefix: "1" Input text: "He1in aosl 1ll j21j 1lj2j 1lj2 1ll l1j2i" Output: (ll, lj2j, lj2) - in any permutation Input prefix: "frac" Input text: "fracking fractals fracted fractional currency fractionally fractioned into fractious fractostratic fractures causing quite a fracas" Output: …

12
沙米尔的秘密分享
给定n(玩家数量),t(阈值)和s(秘密),输出n由Shamir的秘密共享算法生成的秘密。 算法 出于这一挑战的目的,将在GF(251)(size的有限域251,也称为整数mod 251)中进行计算。通常,将选择该字段,使其大小比的素数大得多n。为了简化挑战,字段大小将保持不变。251选择它是因为它是8位无符号整数可以表示的最大质数。 生成t-1(包括)范围内的随机整数[0, 250]。标明这些一个1通过一个T-1 。 构造一个t-1使用次多项式s为恒定值,并从步骤1中的功率的系数的随机整数x:F(X)= S + X *一个1 + X 2 * A 2 + ... + X 叔1 * a t-1。 (含)范围内(f(z) mod 251)每个输出。z[1, n] 参考实施 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input is taken …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

20
反向奇数运行
启示。 任务 在2到2 15个非负整数的给定列表中对奇数进行反向运算。 例子 0 1 →交通 0 1 1 3 →交通 3 1 1 2 3 →交通 1 2 3 1 3 2 →交通 3 1 2 10 7 9 6 8 9 →交通 10 9 7 6 8 9 23 12 32 23 25 27 →交通 23 …

1
搜索库的代码行进方式
挑战: 我的音乐收藏中有成千上万首歌曲,幸运的是,我最喜欢的播放器具有搜索功能。我也有一个美好的回忆-我可以记住收藏中每首歌曲的标题。但是,我很懒惰,不喜欢打字-每次额外的按键操作都很麻烦! 要隔离一首歌曲,我必须搜索的最短字符串是什么?帮我记住一个列表,以便在搜索时尽量减少键入! 这是代码高尔夫球,因此最短的代码获胜。 规则: 给定一个歌曲标题的输入列表,请生成一个受以下限制的搜索关键字列表: 每个歌曲标题都应有一个搜索键。 输出列表中的字符总数必须尽可能少。 我最喜欢的音乐播放器是foob​​ar2000: 搜索功能不区分大小写。(apple与aPpLE)。 每个搜索关键字必须由一个或多个“单词”组成,并且以任意顺序且以空格分隔: 每个单词必须是相应歌曲标题的子字符串。 如果多次指定相同的子字符串,则其相应的歌曲标题中必须出现多次。 如果子字符串本身包含空格,则该子字符串必须用引号引起来。 提示: 通常,对于某些歌曲标题,有多个符合规则2的搜索键。在这种情况下,任何一个键都可以,但是您会获得布朗尼点,以列出所有键。 您可以假设输入列表将仅使用ASCII字符,但是由于UTF-8兼容性而获得了布朗尼点。 规则3难以遵循吗?运作方式如下: 显示代码段 +----------------------+ +--------+ +----------------+ +------------------------------------+ | Input | | Output | | Statistics | | Explanation | |----------------------| |--------| |----------------| |------------------------------------| | | | Search | | Key | # of | …

13
计算连续的子矩阵
从聊天迁移 给定两个非空非负整数矩阵甲和乙,回答的次数甲出现作为连续的,可能重叠,子矩阵在乙。 范例/规则 0.可能没有任何子矩阵 答: [[3,1], [1,4]] B: [[1,4], [3,1]] 回答: 0 1.子矩阵必须是连续的 答: [[1,4], [3,1]] B: [[3,1,4,0,5], [6,3,1,0,4], [5,6,3,0,1]] 答:( 1以粗体显示) 2.子矩阵可能重叠 答: [[1,4], [3,1]] B: [[3,1,4,5], [6,3,1,4], [5,6,3,1]] 答:( 2分别以粗体和斜体标出) 3.(子)矩阵的大小可能为1-by-1或更大 答: [[3]] B: [[3,1,4,5], [6,3,1,4], [5,6,3,1]] 答:( 3以粗体显示) 4.矩阵可以是任何形状 答: [[3,1,3]] [[3,1,3,1,3,1,3,1,3]] 答:( 4两个粗体,两个斜体)

1
我想看着你渴死
您是在两个城镇之间穿越沙漠的旅行者。您不能携带足够的水不停地穿越。这是经典拼图的变体。 规则 沙漠看起来像这样:一个WxH网格,其中大部分是空白空间。标S有空格的地方是您开始的地方,E是您要结束的地方,一个标有数字N的正方形容纳N单位水。标有.保持零水的方块。 ..................................... ........S............................ ..................................... .........7........................... ..................................... .......................3............. .....5............................... ................................2.... ..................................... ..................................... ..................................... ...............................E..... ..................................... ....................7................ ..................................... ..................................... 您以5单位水开始于S。 您最多可以携带5单位水。 每转你 向上,向下,向左或向右移动一个方块, 消耗1单位水, 拿起或放下一定数量的水。 这样会标出一个转弯:(direction)(+|-)(units of water),+表示您正在拿水,-正在放水。 示例变为: D+0 Move Down R+0 Move Right D+2 Move Down, pick up two units of water. U-1 Move Up, drop one unit …
12 code-golf  game  search 

2
解释基普尔!
介绍 Kipple是Rune Berg于2003年3月发明的基于堆栈的深奥编程语言。 Kipple有27个堆栈,4个运算符和一个控制结构。 堆栈 堆栈被命名为a- z并包含32位带符号整数。还有一个特殊的堆栈,@使输出数字更加方便。当将数字压入时@,实际上将压入该数字的ASCII值。(例如,如果您将12推到@,它将推49,然后推50。@) i在执行程序之前,将输入压入输入堆栈。解释器将i在执行之前要求存储值。执行完成后,输出堆栈上的所有内容o都会弹出以ASCII字符形式输出。由于这是Kipple唯一的IO机制,因此无法与Kipple程序进行交互。 经营者 操作数可以是堆栈标识符或带符号的32位整数。 推送:>或< 语法:Operand>StackIndentifier或StackIndentifier<Operand Push运算符将操作数向左移并将其推入指定的堆栈。例如,12>a将值12推入stack a。a>b将从堆栈中弹出最高值a并将其推入堆栈b。弹出空堆栈总是返回0 a<b相当于b>a。a<b>c从弹出最高值,b并同时推入c和a。 加: + 句法: StackIndentifier+Operand Add运算符将堆栈上最顶层项目和操作数之和压入堆栈。如果操作数是堆栈,则从中弹出值。例如,如果堆栈的最高值为a1,a+2则将3压入堆栈。如果a为空,a+2则将2推入。如果堆叠的最值a和b是1和2,然后a+b将从栈中弹出的值2 b和3推入堆栈a。 减去: - 句法: StackIndentifier-Operand 减法运算符的工作方式与加法运算符完全相同,只是它减去而不是加法。 明确: ? 句法: StackIndentifier? 如果最上面的项目为0,则Clear运算符将清空堆栈。 解释器将忽略操作符旁边不存在的所有内容,因此以下程序将起作用:a+2 this will be ignored c<i。但是,添加注释的正确方法是使用#字符。#执行前,a 和行尾字符之间的所有内容都将被删除。ASCII字符#10在Kipple中定义为行尾。 操作数可以由两个运算符共享,例如a>b c>b c?可以写为a>b<c?。 该程序1>a<2 a+a将导致a包含值[1 4](从下到上),而不是[1 3]。对于-操作员也是如此。 控制结构 Kipple中只有一种控制结构:循环。 句法: (StackIndentifier code …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.