這兩道題用JS怎么寫出來呀,感覺有點難。
1.
給定一個包括 n 個整數的陣列 nums 和 一個目標值 target。找出 nums 中的 任意個數之和 等于 target,并列印出所有結果的索引,同一個結果索引不能重復。
例如: nums = [1,5,8,17,29,33,39,11,16] ,target = 33
結果1:5 ,結果2:3,8,...
!!!! 使用題目的測驗資料,把輸出結果保存到代碼后面 !!!!
2. 給定一組開始、結束時間的陣列,找出陣列中的交叉時間段及空余時間段
[
[2020-03-20,2020-03-22],
[2020-05-20,2020-07-22],
[2020-04-20,2020-05-22],
[2020-08-20,2020-09-22],
]
空余時間段:2020-03 ~ 23-2020-04-19,2020-07-23 ~ 2020-08-19,...
交叉時間段:2020-05-20 ~ 2020-05-22,...
!!!! 使用題目的測驗資料,把輸出結果保存到代碼后面 !!!!
//代碼寫在后面,寫完后,點擊左上角保存按鈕,提示 “保存成功” 即可
//如果沒提示保存成功,需要把 “名字” , 復制到#后面,并重繪頁面
//請確認代碼正確,不能出現運行報錯
uj5u.com熱心網友回復:
50分,懶得弄了
uj5u.com熱心網友回復:
小弟我只有50分
uj5u.com熱心網友回復:
等我下次補給你

uj5u.com熱心網友回復:
<script>
let nums = [1, 5, 8, 17, 29, 33, 39, 11, 16];
let target = 33;
var subsets = function (nums) {
let res = [],
len = nums.length;
for (let i = 0; i < (1 << len); i++) {
let arr = [];
for (let j = 0; j < len; j++) {
if (i & (1 << j)) arr.push({'key':j,'value':nums[j]});
}
if(sums(arr) == target){
res.push(returnkey(arr));
}
}
return res;
};
function returnkey(arr){
let key = '';
for (let i = 0; i < arr.length; i++) {
key == ''?key=""+arr[i].key:key +=","+arr[i].key;
}
return key;
}
function sums(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i].value;
}
return sum;
}
let result = subsets(nums);
console.log(result);
</script>
寫了一個
uj5u.com熱心網友回復:
第一題function fun1(arr,target){
var r=[];
for(var i=0;i<arr.length;i++){
r = fun2(arr,target,r,[i]);
}
return r;
}
function fun2(arr,target,r,e){
var nxt =0;
var val = 0;
var pos = [];
var num = [];
for (var i=0;i<e.length;i++){
nxt = nxt<e[i]?e[i]:nxt;
pos.push(e[i])
val += arr[e[i]];
num.push(arr[e[i]]);
}
if (val==target)
{
r.push({pos:e,num:num,expr:num.join('+')+'=='+target});
}
else if (val < target)
{
for(var i=nxt+1;i<arr.length;i++){
var n = [];
for(var j=0;j<e.length;j++){
n.push(e[j])
}
n.push(i)
r = fun2(arr,target,r,n)
}
}
return r
}
console.log(fun1([1,2,3,4,5,6,7,8],15));
uj5u.com熱心網友回復:
謝謝,嘿嘿嘿,我會好好看看的
uj5u.com熱心網友回復:
這是用的那種方法
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/280471.html
標籤:JavaScript
上一篇:高德地圖繪制折線怎么自動閉合
