挑战:按字符数计算的最短代码,用于检测和删除字符串中的重复字符.删除包括重复字符的所有实例(因此,如果您找到3个n,则所有三个必须去),并且需要保留原始字符顺序.
示例输入1:
nbHHkRvrXbvkn示例输出1:
RrX
示例输入2:
nbHHkRbvnrXbvkn示例输出2:
RrX
(第二个示例删除三次出现的字母;某些解决方案未能解释此问题)
(这是基于我的另一个问题,我需要以最快的方式在C#中执行此操作,但我认为它可以在各种语言中实现良好的Code Golf.)
最近,我使用自己喜欢的图像编辑器制作1x1黑色像素(当您想要以便宜的方式在HTML中绘制实心框时,它可以派上用场).虽然我把它变成了单色PNG,但它却是120字节!我的意思是,那有点陡峭.120个字节. 对于一个像素.然后我将它转换为GIF,将大小减小到43个字节.好多了,但还是......
最短的图像文件或程序是或产生一个1x1黑像素.提交可能是:
只要答案属于这两个类别中的一个,任何事情都是公平的.
此外,对于图像文件,请以十六进制或转义指定它们而不是使用外部图像主机:-)
目标:任何语言.最小的函数,它将返回一个字符串是一个回文.这是我的Python:
R=lambda s:all(a==b for a,b in zip(s,reversed(s)))
Run Code Online (Sandbox Code Playgroud)
50个字符.
接受的答案将是当前最小的答案 - 当发现较小的答案时,这将会改变.请指定您的代码所在的语言.
以尽可能少的字符生成Fibonacci序列.任何语言都可以,除了您使用一个运算符定义的语言f,它会打印斐波那契数字.
起点:25 14个字符的哈斯克尔:
f=0:1:zipWith(+)f(tail f)
f=0:scanl(+)1f
Run Code Online (Sandbox Code Playgroud) 按字符计算的最短代码输出Ulam的螺旋,螺旋尺寸由用户输入给出.
Ulam的螺旋是一种映射素数的方法.螺旋线从中间的数字1开始(1不是素数)并在其周围产生螺旋线,将所有素数标记为字符' *'.非素数将被打印为空格' '.
替代文字http://liranuna.com/junk/ulam.gif
Input:
2
Output:
* *
*
*
Input:
3
Output:
* *
* *
* **
*
*
Input:
5
Output:
* *
* *
* * *
* * *
* ** *
* *
* *
* *
* *
Run Code Online (Sandbox Code Playgroud)
代码计数包括输入/输出(即完整程序).
我找到了一个有一些复杂的C拼图的网站.现在我正在处理这个问题:
以下是一段C代码,其目的是打印减号20次.但你可以注意到,它不起作用.
Run Code Online (Sandbox Code Playgroud)#include <stdio.h> int main() { int i; int n = 20; for( i = 0; i < n; i-- ) printf("-"); return 0; }修好上面的代码很简单.要使问题变得有趣,您必须通过更改一个字符来修复上述代码.有三种已知的解决方案.看看你能不能得到这三个.
我无法弄清楚如何解决.我知道它可以通过改变--来修复++,但我无法弄清楚要改变哪个单个字符才能使它工作.
基于这个问题:有没有办法将数字转换为友好格式?
挑战 - 更新! (从规范中删除了数百个缩写)
按字符数排序的最短代码,将缩写整数(无小数).
代码应包括完整的程序.
相关范围来自0 - 9,223,372,036,854,775,807(有符号64位整数的上限).
缩写的小数位数为正数.您不需要计算以下内容:( 920535 abbreviated -1 place这可能是类似的0.920535M).
在十位和百地方(数字0-999)应永远缩写为(该号码的缩写57,以1+小数位是5.7dk-这是不必要的,而不是友好的).
记得从零开始一半(23.5四舍五入到24).银行家的舍入是禁止的.
以下是相关的数字缩写:
h = hundred (102)
k = thousand (103)
M = million (106)
G = billion (109)
T = trillion (1012)
P = quadrillion (1015)
E = quintillion (1018)
SAMPLE INPUTS/OUTPUTS(输入 …
language-agnostic code-golf number-formatting human-readable rosetta-stone
按字符排序的最短代码从给定的数字卡列表中输出最佳案例的二十一点手.
输入是由空格分隔的1到10(含)之间的数字列表.
输出将是从该卡片列表中形成的最佳二十一点手 - 最接近的可用组合,通过所有卡值的总和达到21而不超过它.卡可以删除但不能添加.
如果需要移除两张或多张卡以支持一张卡以获得相同结果(移除5或4,1以获得21),则移除最少的卡.如果要移除相同数量的卡(移除1,4或3,2),将删除具有最小值的组(在前面的示例中,1,4将被移除为min(min(3,2), min(1,4))属于该对).在重复卡的情况下,应该删除第一次遭遇.
输出将形成为钻石卡,输入顺序保留:
__________ __________ | || | | || /\ | | || \/ | | /\ || | | \/ || | | || /\ | | || \/ | |__________||__________| __________ __________ | || | | /\ || /\ /\ | | \/ || \/ \/ | | /\ || | | \/ || | | /\ || /\ /\ | | \/ || \/ \/ | |__________||__________| __________ …
采用单个输入整数N(N> = 3)的字符数最短的代码,并返回索引数组,迭代时将根据JPEG"zigzag"扫描模式遍历Nx N矩阵.以下是遍历8x8矩阵src的示例遍历:
![]()
(中间矩阵不是输入或输出的一部分,只是输入表示的NxN矩阵的表示.)
1 2 3
(Input) 3 --> 4 5 6 --> 1 2 4 7 5 3 6 8 9 (Output)
7 8 9
1 2 3 4
(Input) 4 --> 5 6 7 8 --> 1 2 5 9 6 3 4 7 10 13 14 11 8 12 15 16 (Output)
9 10 11 12
13 14 15 16
Run Code Online (Sandbox Code Playgroud)