首页 > 编程语言 >javascript: 合并数组

javascript: 合并数组

时间:2023-10-20 17:48:48浏览次数:44  
标签:src console log nums dest javascript 合并 数组 var

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">	
<title>semd mail demo</title>
	<meta name="Description" content="geovindu,涂聚文,Geovin Du"/>
<meta name="Keywords" content="geovindu,涂聚文,Geovin Du"/>
<meta name="author" content="geovindu,涂聚文,Geovin Du"/>
	<script type="text/javascript" src="js/jquery-3.6.0.js"></script>
    <script src="Bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <link href="Bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet">
	<script type="text/javascript">
		
		
// 1.2 空间复杂度 来源:  JavaScript算法  作者: 司徒正美,李晓晨著,人民邮电出版社,2023
// ,空间复杂度(space complexity)是对一个算法在运行过程中临时占用存储空间大小的量度。
// 给定一个整数数组nums和一个整数目标值target,请你在该数组中找出“和”为目标值target的那两个整数,并返回它们的数组下标
// 方法一:暴力枚举 时间复杂度为O(n2) 空间复杂度为O(1) 采用“就地”存储
var nums=[4,0,2,9];
var target=[4];
		
function twoSum(nums, target) {
	console.log(nums);
	console.log(target);
    for (let i = 0; i < nums.length; i++) {
      for (let j = i + 1; j < nums.length; j++) {
        if (target - nums[i] === nums[j]) {
			console.log(nums[i]);
          return [i, j];
        }
      }
    }
    console.log("No two sum1 solution");
};
		
//var twoSum =	
var sum1=twoSum(nums, target);	
console.log("数:"+sum1);	
		
// 方法二:散列表 散列表进行元素存储 消耗的空间复杂度为O(n) 时间复杂度的消耗,此处为O(n)。
		//var twoSum2 = 
function twoSum2(nums, target) {
	console.log(nums);
	console.log(target);
    var map = new Map();
    for (let i = 0; i < nums.length; i++) {
      let complement = target - nums[i];
      if (map.has(complement)) {
		  console.log(i);
        return [map.get(complement), i];
      }
      map.set(nums[i], i);
    }
    console.log("No two sum2 solution");
};
//var twoSum2=
var sum2=twoSum2(nums, target);
console.log("数:"+sum2);
		
		
var src = [1,1,2,1,4,1,3,5,7,9];        
var dest = [2,4,6,8,10,12];
function mergeArray(src, dest, n, m) {
  var indexOfNew = n + m - 1; // 新数组的末位索引
  var indexOfSrc = n - 1; // src有效元素的末位索引
  var indexOfDest = m - 1; // dest有效元素的末位索引
  // 当dest全部扫描完成,元素全部插入src,剩余src元素不需要移位操作
  // 当src全部遍历完成,但dest仍有元素时,只需要操作dest即可,此时src下标已达最小值0
  while (indexOfDest >= 0) {
    if (indexOfSrc >= 0) {
      // 将src或dest中较大的元素放入src的后几位中去
      if (src[indexOfSrc] >= dest[indexOfDest]) {
        src[indexOfNew] = src[indexOfSrc];
        --indexOfNew;
        --indexOfSrc;
      } else {
        src[indexOfNew] = dest[indexOfDest];
        --indexOfNew;
        --indexOfDest;
      }
    } else { // 如果dest比较长,那么挪动dest到indexOfNew位置上
      src[indexOfNew] = dest[indexOfDest];
      --indexOfNew;
      --indexOfDest;
    }
  }
}
mergeArray(src,dest,10,6);		
console.log("合并的数组:"+src);	
	
	</script>
</head>

<body>
<form>
  <div class="form-group">
    <label for="exampleFormControlInput1">Email address</label>
    <input type="email" class="form-control" id="exampleFormControlInput1" placeholder="[email protected]">
  </div>
<div class="form-group">
    <label for="exampleInputName">Name</label>
    <input type="text" class="form-control" id="exampleInputPassword1" placeholder="enter name">
  </div>
 <div class="form-group">
    <label for="exampleFormControlSelect1">Example select</label>
    <select class="form-control" id="exampleFormControlSelect1">
      <option>Mr.</option>
      <option>Ms</option>
    </select>
  </div>	
	
  <div class="form-group" style="display:none;">
    <label for="exampleFormControlTextarea1">内容</label>
    <textarea class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea>
  </div>
	
	<button type="submit" class="btn btn-primary">Send Mail</button>
</form>	
	
	
</body>
</html>

  

标签:src,console,log,nums,dest,javascript,合并,数组,var
From: https://www.cnblogs.com/geovindu/p/17777607.html

相关文章

  • 2D物理引擎 Box2D for javascript Games 第五章 碰撞处理
    2D物理引擎Box2DforjavascriptGames第五章碰撞处理碰撞处理考虑到Box2D世界和在世界中移动的刚体之间迟早会发生碰撞。而物理游戏的大多数功能则依赖于碰撞。在愤怒的小鸟中,小鸟摧毁小猪的城堡时,便是依赖碰撞而实现的;在图腾破坏者中,当神像坠落到图腾上或摔碎在地面上......
  • javascript 数组对象根据id去重的几种方法
    例如:想去除重复id为1的项arr=[{id:1,name:'张三',age:20},{id:1,name:'张三',age:20},{id:2,name:'李四',age:20},{id:3,name:'马五',age:20},];方法一通过forEach再通过some方法判断数组是否包含当前对象id,不包含则添加so......
  • git终止合并
     通过上面的信息多少知道了自己错误的根源。首先我本地是有一些已经commit的代码,但是还没有push到远程。我在gitpull指令执行之后,从远程拉取代码到本地,会自动执行一个merge操作,如果有冲突,就会merge失败,正常情况下,第一次pull会显示merge失败的文件,然后让你手动去修改。但是我......
  • 【Python&GIS】基于Python批量合并矢量数据
    ​老样子最近有项目需要将N个矢量文件合并成一个,总不能用ArcGIS一个个导入吧。所以我就想着用Python编个程序实现批量合并矢量。我之前也发了一些关于Python操作矢量数据的文章:【Python&GIS】Python处理矢量数据的基本操作(查询、修改、删除、新建),如果大家感兴趣可以去我的主......
  • 【C语言基础】sizeof(数组名)
    C语言数组名容易在以下两种情况混淆。情况1:数组名——代表数组整体inta[]={1,2,3,4};printf("%d\n",sizeof(a));//数组名a表示整个数组的大小,元素类型int,有4个元素,所以大小为4×4=16 情况2:数组名——代表一个指针当数组名作为函数参数时,自动退化为一个指针。此......
  • PHP将数组通讯录按字母A-Z排序
    1.调用publicfunctiontest(){$volist=Db::name("user")->select();$list=$this->chartSort($volist);} 2.具体方法/***将数组按字母A-Z排序*@return[type][description]*/publicfunctionchartSort($user){foreach(......
  • 88. 合并两个有序数组
    给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初......
  • 把数组中相同id的项放到一个数组中
    vararr=[{'id':'1001','name':'值1','value':'111'},{'id':'1001','name':'值1','va......
  • 2023-10-04:用go语言,现有一棵无向、无根的树,树中有 n 个节点,按从 0 到 n - 1 编号 给你
    2023-10-04:用go语言,现有一棵无向、无根的树,树中有n个节点,按从0到n-1编号给你一个整数n和一个长度为n-1的二维整数数组edges,其中edges[i]=[ai,bi]表示树中节点ai和bi之间存在一条边。每个节点都关联一个价格。给你一个整数数组price,其中price[i]是第i......
  • 2023-09-30:用go语言,给你一个整数数组 nums 和一个整数 k 。 nums 仅包含 0 和 1, 每一
    2023-09-30:用go语言,给你一个整数数组nums和一个整数k。nums仅包含0和1,每一次移动,你可以选择相邻两个数字并将它们交换。请你返回使nums中包含k个连续1的最少交换次数。输入:nums=[1,0,0,1,0,1],k=2。输出:1。答案2023-09-30:步骤描述:1.定义一个函数minMoves......