ProjectRuler 算法练习之 位数组成字符串同样的整数

Problem :
It can be seen that the number, 125874, and its double, 251748, contain exactly the same digits, but in a different order.
Find the smallest positive integer, x, such that 2x, 3x, 4x, 5x, and 6x, contain the same digits.

Implementation :

var sameDig = function f(n1,n2){

var strN1 = n1.toString();
var strN2 = n2.toString();

if(strN1.length != strN2.length) return false;

var arr1 = new Array();
var arr2 = new Array();

for(var i = 0;i < strN1.length; i++){
arr1.push(strN1[i]);
arr2.push(strN2[i]);
}

arr1.sort();
arr2.sort();

for(var i = 0;i < arr1.length; i++){ if(arr1[i]!=arr2[i]) return false;}

return true;

}

for(var i = 1;i < 999999; i++){
if(sameDig(i,2*i) &&
sameDig(i,3*i) &&
sameDig(i,4*i) &&
sameDig(i,5*i) &&
sameDig(i,6*i)) {console.log(i); break;}
}
时间: 2024-10-12 02:30:07

ProjectRuler 算法练习之 位数组成字符串同样的整数的相关文章

ProjectRuler 算法练习之 位数组成字符串相同的整数

Problem :It can be seen that the number, 125874, and its double, 251748, contain exactly the same digits, but in a different order.Find the smallest positive integer, x, such that 2x, 3x, 4x, 5x, and 6x, contain the same digits. Implementation : var

算法实战(八)字符串转换成整数

一.前言 这个题和第七题的类型有点相似,不过这个题目涉及到了一些字符串的处理,由于比较简单,加上在加班的时候,把活干完了,没啥事情可以做了,所以我干脆把这个题目也一起做了. 二.题目 题目:请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号:假如第一个非空字符是数字,则直接将其与之后连续的数字字符组

[算法] C# Revert 单词反转字符串[低时间复杂度]

无聊期间想起了一道字符串反转的问题. 大致要求输入"I am a good boy",输出"boy good a am I". 要求不能用已经封装好的方法实现.于是乎,我上网查了一下,基本都是用了封装后类库.于是我自己写了一个小算法,低时间复杂度高空间复杂度的算法. private string Revert(string str) { if (str.Length == 0) { return string.Empty; } string newStr = nul

1107: 零起点学算法14——三位数反转

1107: 零起点学算法14--三位数反转 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 4915  Accepted: 2378[Submit][Status][Web Board] Description 水题 Input 输入1个3位数(题目包含多组测试数据) Output 分离该3位数的百位.十位和个位,反转后输出(每组测试数据一行) Sample Input 250 Sample Out

微软算法100题88 将字符串中的字符&#39;*&#39;移到串的前部分

函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量.如原始串为:ab**cd**e*12,处理后为*****abcde12,函数并返回值为5.(要求使用尽量少的时间和辅助空间) 思路:类似于快速排序,用两个指针分别指向字符数组的左右边界,寻找左边第一个不为*的字符,寻找右边第一个*,然后交换字符,然后继续寻找和交换的过程,直到两个指针相交, 时间复杂度o(n), 空间复杂度o(1) 第一个写的程序有问题,没有考虑到保持

【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】

[008-String to Integer (atoi) (字符串转成整数)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what

基于Zlib算法的流压缩、字符串压缩源码

原文:基于Zlib算法的流压缩.字符串压缩源码 Zlib.net官方源码demo中提供了压缩文件的源码算法.处于项目研发的需要,我需要对内存流进行压缩,由于zlib.net并无相关文字帮助只能自己看源码解决.通过对SharpZipLib的demo研究,写出了Zlib.net的流压缩算法. 中间花费了不少的时间,应为通过Stream压缩出来的数据全是空的,呵呵,主要原因就是忽略了ZOutputStream.flush()和ZOutPutStream.close()方法.大家自己看吧.关于字符串压缩

MD5算法【计算文件和字符串的MD5值】

1. MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种加密算法(易错).任何长度的任意内容都可以用MD5计算出散列值.MD5的前身:MD2.MD3.MD4.介绍工具:CalcMD5.zip.主要作用就是[验明"真身"],字符串文件均可(确保信息传输过程中的完整性.一致性). 2. MD5算法的特点: ????1. 长度固定 ????2. 单向性 ---- 可以通过MD5计算器来计算文件或者字符串的MD5值,但是不可以通过给出的MD5值来推算出文件或者字符串. ???

算法: 把字字符串转化为整数;

算法: 把字字符串转化为整数: * @问题: 把字符串转化为整数* 题目描述* 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),* 要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0.* 输入描述:* 输入一个字符串,包括数字字母符号,可以为空* 输出描述:* 如果是合法的数值表达则返回该数字,否则返回0* @思路: 转化为数组,判断非空:然后根据数字0到9的ASIC码来确定,判断数组