jquery - JQuery:数组和排序
问题描述
你能帮助我吗?
我有问题:
如何返回一个数字,该数字是可以通过字符串连接所有接收到的数字来构造的最小数字。
例子:
一个。输入:[1, 2, 3]-> 输出:123
湾。输入:[1,10,100] -> 输出:100101
C。输入:[100, 97, 23, 1] -> 输出:10012397
d。输入:[9041, 376, 5, 10] -> 输出:1037659041
感谢您的帮助
解决方案
这是我基于线程解决问题的代码(我希望这可以帮助任何需要它的人):
感谢@DavidWinder关于排列线索
function submit()
{
var num = [];
var smallest = 9;
//get the numbers
$('input[name^="num"]').each(function()
{
if ($(this).val() != '')
{
num.push($(this).val());
}
});
var letters = num.toString();
var size = num.length;
$('#result').empty();
var testResults = permutate.getPermutations(letters, size);
var min = 99999999;
$.each(testResults, function(index, item)
{
// $('#result').append("<li>" + item + "</li>");
if (item < min)
{
min = item;
}
});
$('#result').html("Smallest possible number = " + min);
}
//====================================================
var permutate = (function()
{
var results = [];
function doPermute(input, output, used, size, level)
{
if (size == level)
{
var word = output.join('');
results.push(word);
return;
}
level++;
for (var i = 0; i < input.length; i++)
{
if (used[i] === true)
{
continue;
}
used[i] = true;
output.push(input[i]);
doPermute(input, output, used, size, level);
used[i] = false;
output.pop();
}
}
return {
getPermutations: function(input, size)
{
var chars = input.split(',');
var output = [];
var used = new Array(chars.length);
doPermute(chars, output, used, size, 0);
return results;
}
}
})();
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<input type="text" name="num[1]"> <br />
<input type="text" value=74 name="num[2]"> <br />
<input type="text" name="num[1]"> <br />
<input type="text" value=36 name="num[2]"> <br />
<input type="text" name="num[1]"> <br />
<input type="text" name="num[2]"> <br />
<input type="text" value=51 name="num[1]"> <br />
<input type="text" value=98 name="num[2]"> <br />
<input type="text" name="num[1]"> <br />
<input type="text" name="num[2]"> <br />
<input type="submit" id="submit" onclick="submit()">
<div id='result'>Result</div>
</body>
</html>
推荐阅读
- spring - 双向@OneToMany 和@ManyToOne - 从集合中删除子项而不从数据库中删除的正确方法是什么
- ruby-on-rails - 如何让所有用户在 Redmine/Ruby on Rails 中使用插件?
- javascript - 我想在 reactjs 中使用 grid.css
- python - Python - 如何将列表中的元素与同一列表中的其他元素进行比较
- python - 我无法使用 Anaconda 安装 pytorch,因为我第一次用完了磁盘空间
- php - laravel上传无法将图像数据写入路径
- c# - @Url.Action 传递当前 url 的 id 段
- python - 比较列表和字典
- javascript - 使用 SVG 路径作为另一个路径的“骨架”(弯曲路径)
- python - 检查 pandas csv 块是否包含字符串