摘要:前段时间遇到的一个算法题,将上面的数组去重排序先转换成字符串根据逗号分割再转换成一个数组的语法去重将数组的字符串转换成数字
前段时间遇到的一个算法题,
var arr = [1,2,4,3,4,3,[12,2,4,5],[1,3,5,[234,432,5,3,2,5]]]将上面的数组去重排序
let str = arr.toString() //先转换成字符串 let newArr = str.split(","); //根据 逗号分割再转换成一个数组 var a = [...new Set(newArr)] //es的语法去重 function insertionSort(array) { for (var i = 0; i < array.length; i++) { var key = eval("("+array[i]+")"); //将数组的字符串转换成数字 var j = i - 1; while ( array[j] > key) { array[j + 1] = array[j]; j--; } array[j + 1] = key; } return array; } console.log(insertionSort(a))
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/110027.html
摘要:题目相关知识去除字符串里面的重复字符。该运算符将一个数组,变为参数序列。展平数组的方法只能展平一层默认为。如果原数组有空位,方法会跳过空位。展平后每个数组中的至是字符串,可根据需要再转换参考文章 题目 var arr=[ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 1 . Array....
摘要:线程之间的通信由内存模型本文简称为控制,决定一个线程对共享变量的写入何时对另一个线程可见。为了保证内存可见性,编译器在生成指令序列的适当位置会插入内存屏障指令来禁止特定类型的处理器重排序。 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的...
摘要:对于域,编译器和处理器要遵守两个重排序规则在构造函数内对一个域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。这个屏障禁止处理器把域的写重排序到构造函数之外。下一篇深入理解内存模型七总结 与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,编译器和处理器要遵守两个重排序规则: 在构造函数内对一个fi...
摘要:需求给出定两个参数,参数,参数查找参数插入数组时的最小索引思路数组重排序判断数组中是否包含的最小数,有,则返回其最小数的索引无,则返回其数组长度思路用变量存储大于中各元素的次数返回变量思路数组重排序查找大于的数组最小值的索引索引等于返 需求 给出定两个参数,参数1:arr,参数2:num;查找参数num插入数组时的最小索引 getIndexToIns([10, 20, 30, 40, ...
摘要:写域重排序规则写域的重排序规则禁止对域的写重排序到构造函数之外,这个规则的实现主要包含了两个方面禁止编译器把域的写重排序到构造函数之外编译器会在域写之后,构造函数之前,插入一个屏障。结论只有当构造函数返回时,引用才应该从线程中逸出。final关键字final的简介final可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类。f...
阅读 3349·2021-11-04 16:10
阅读 3845·2021-09-29 09:43
阅读 2692·2021-09-24 10:24
阅读 3337·2021-09-01 10:46
阅读 2503·2019-08-30 15:54
阅读 585·2019-08-30 13:19
阅读 3231·2019-08-29 17:19
阅读 1047·2019-08-29 16:40