arr

JavaScript数组遍历,元素去重

大憨熊 提交于 2019-12-22 01:03:29
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> //3.遍历 var arr=[1,2,2,2,3,3,4]; 1.for(1=0;1<arr.length;i++){ } 2.forEach(function(value,index){ console.log(value);//遍历元素 console.log(index);//遍历下标 }); //4.数组去重 console.log(arr); for(i=0;i<arr.length;i++){ for (j=i+1;j<arr.length;j++) { while(arr[i]==arr[j]){//以i与j之后的元素比较,这里while不能用if,会保留多个的重元素 arr.splice(j,1); //删除重元素 } } } console.log(arr); </script> </body> </html> 来源: https://www.cnblogs.com/wangdongwei/p/11245872.html

java基础算法系列

风格不统一 提交于 2019-12-22 00:37:03
Java面试中一般都会遇到让你手写三大排序伪代码的场景。 java排序分四类 1、插入排序 直接插入排序 希尔排序 2、交换排序 冒泡排序 快速排序 3、选择排序 简单选择排序 堆排序 快速排序 4、归并排序 面试中,我们面得最多的应该要数冒泡排序了,我们就先来讲讲冒泡排序。 正常情况下,我们进行伪代码的编写,或者需要在电脑上敲出来,冒泡排序是比较经典的排序:下面我们简单实现一下: 我将时间运行时间打印了出来,可能是由于数据量比较少的原因,时间ms显示不出来,我选择单位为ns,可以直观的看出来排序算法效率对比。 publicstaticvoidmain(String[] args){ int[] arr = {1,3,4,2,6,7,8,0,5}; inti =0; inttmp =0; longstartTime = System.nanoTime();// 获取开始时间 for(i =0; i < arr.length -1; i++) { // 确定排序趟数 intj =0; for(j =0; j < arr.length -1- i; j++) { // 确定比较次数 if(arr[j] > arr[j +1]) { // 交换 tmp = arr[j]; arr[j] = arr[j +1]; arr[j +1] = tmp; } } } longendTime =

插入排序,适用于新手来理解的一篇博客!

纵然是瞬间 提交于 2019-12-21 23:47:51
1.1了解插入排序? 插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但是它的实现方式可谓是最容易理解的,就好像你在打扑克牌,往往都会用顺序放牌,是一种直观的排序方式,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 1.2插入排序的算法步骤 将第一个元素看做为有序序列,后将第二个到最后一个看成一个未排序序列,从头到尾依次扫描未排序序列进行比较,找到相应的位置并进行插入。 1.3插入动图演示 插入图片: 1.4代码实现部分 插入代码: package cn.cjrh; public class insertSort { public static void main(String[] args) { int [] arr = {82,7,8,12,65,94,76,1,46,3,64,78,45,11,28,39,78,45,63,96,47,85,14,52,25,36,63}; //设一个不规则的int数组进行比较 System.out.println(“排序前”); for (int i=0;i<arr.length;i++) { System.out.print(arr[i]+" “); } System.out.println(); for (int i = 1;i<arr.length;i++) /

数组的操作push,pop,shift,unshift

柔情痞子 提交于 2019-12-21 22:00:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> JS中的数组提供了四个操作,以便让我们实现队列与堆栈! 小理论: 队列:先进先出 堆栈:后进先出 实现队列的方法: shift:从集合中把第一个元素删除,并返回这个元素的值。 unshift: 在集合开头添加一个或更多元素,并返回新的长度 push:在集合中添加元素,并返回新的长度 pop:从集合中把最后一个元素删除,并返回这个元素的值。 具体说明: 1.shift()定义和用法 shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。 语法:arrayObject.shift() 返回值:数组原来的第一个元素的值。 说明:如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。 提示和注释: 注释:该方法会改变数组的长度。 提示:要删除并返回数组的最后一个元素,请使用 pop() 方法。 实例:在本例中,我们将创建一个数组,并删除数组的第一个元素。请注意,这也将改变数组的长度: <script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas

详解快速排序算法(Java版)

 ̄綄美尐妖づ 提交于 2019-12-21 19:18:46
前言 快速排序(Quick Sort)算法和冒泡排序算法类似,都是基于交换排序的思想。快速排序算法对冒泡排序算法进行了改进,从而具有更高的执行效率。而且也是面试常考的一种算法,不仅得会写,更主要的是理解其中的思想。 快速排序的流程 (1)首先设定一个分界值,通过该分界值将数组分为左右两部分 (2)将大于等于分界值的数据集中到数组的右边,小于分界值的数据集中到数组的左边,此时左边部分中各元素都小于等于分界值,右边部分中各元素都大于分界值 (3)然后,左边和右边的数据可以独立排序。对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样将左边放置较小值,右边放置较大值。右侧的数组也做类似处理。 (4)重复上述过程,可以看出,这是一个递归定义。通过递归将左侧部分排好后,再递归排好右侧部分的顺序。当左、右两部分各数据排序完成后,整个数组的排序也就完成了 详细代码 上面的流程,一般看完后会懵懵懂懂,结合下面的代码,然后慢慢理解 public class MyQuickSort { static final int SIZE = 18; /** * @param arr 待排序的数组 * @param left 数组的左边界(例如,从起始位置开始排序,则left=0) * @param right 数组的右边界(例如,排序截至到数组末尾,则right=arr.length-1)

shell编程

旧街凉风 提交于 2019-12-20 10:10:59
Shell 1. 新建一个脚本 新建一个 xxx.sh 文件 #!/bin/bash 脚本标识 1. 变量 1.1定义变量 myName=”小白” 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 首个字符必须为字母( a-z,A-Z)。 中间不能有空格,可以使用下划线( _)。 不能使用标点符号。 使用变量: $ 变量名 为了区分,我们可以使用 ${ 变量名 } readonly 定义一个只读的变量,不能重新赋值 1.2 删除变量 使用 unset 命令可以删除变量。语法: unset variable_name 变量被删除后不能再次使用。 unset 命令不能删除只读变量。 实例 #!/bin/bash myUrl="http://www.runoob.com" unset myUrl echo $myUrl 2. Shell 字符串 字符串是 shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。 单引号 str='this is a string' 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。 双引号 your

SignalR 2.2 and ARR3.0 Load balancing

时光怂恿深爱的人放手 提交于 2019-12-20 02:35:47
问题 I am using signalr2.2 web application and hosted in IIS-8. Here I tried to implement load balancing for my application using ARR3.0. In my server farm I connected two servers and set the routing rule as 'weighted round robin'. Every server has a javascript client with HTML page. While I am accessing HTML page of any server the request has been routed as expected but I am having this error in my html page and signalr doesn't get connected WebSocket connection to 'ws://mydomain.com/signalr

SignalR 2.2 and ARR3.0 Load balancing

巧了我就是萌 提交于 2019-12-20 02:35:10
问题 I am using signalr2.2 web application and hosted in IIS-8. Here I tried to implement load balancing for my application using ARR3.0. In my server farm I connected two servers and set the routing rule as 'weighted round robin'. Every server has a javascript client with HTML page. While I am accessing HTML page of any server the request has been routed as expected but I am having this error in my html page and signalr doesn't get connected WebSocket connection to 'ws://mydomain.com/signalr

JavaScript 听说有朋友不会用对象

▼魔方 西西 提交于 2019-12-20 00:08:13
个人查漏补缺,具体的自己查看文档 一、扩展运算符 可对象合并 function upload ( params ) { let config = { type : '*.jpg,*png' , size : 1024 } config = { ... config , ... params } console . log ( config ) } upload ( { size : 2048 } ) { type: "*.jpg,*png" , size: 2048 } Object . assign ( obj1 , obj2 ) // 也可以对象合并 二、解构 字符串数组 let web = [ 'web' , 'code' ] let [ , b ] = web ; console . log ( b ) // code 三、属性检测 let arr = [ "123" , "456" ] console . log ( arr ) console . log ( arr . hasOwnProperty ( "length" ) ) //true console . log ( arr . hasOwnProperty ( "concat" ) ) //false 原型继承 非自身属性 console . log ( "concat" in arr ) // true 自身

经典算法二分查找循环实现Java版

∥☆過路亽.° 提交于 2019-12-19 04:22:18
二分查找 定义 二分查找(Binary Search)又称折半查找,它是一种效率较高的查找方法。 要求 (1)必须采用顺序存储结构 (2)必须按关键字大小有序排列 查找思路 首先将给定值K,与表中中间位置元素的关键字比较,若相等,返回该元素的存储位置;若不等,这所需查找的元素只能在中间数据以外的前半部分或后半部分中。然后在缩小的范围中继续进行同样的查找。如此反复直到找到为止。 适用情况 该查找方法仅适合于线性表的顺序存储结构,不适合链式存储结构,且要求元素按关键字有序排列。 优缺点 虽然二分查找的效率高,但是要将表按关键字排序。而排序本身是一种很费时的运算。既使采用高效率的排序方法也要花费O(nlgn)的时间。二分查找只适用顺序存储结构。为保持表的有序性,在顺序结构里插入和删除都必须移动大量的结点。因此,二分查找特别适用于那种一经建立就很少改动、而又经常需要查找的线性表。 非递归实现代(还有一种用递归实现的二分查找) Java代码如下(自己写的,有兴趣的可以查看Java源码): import java.util.Arrays; public class BinarySearch { public static void main(String[] args) { // 测试代码 int[] arr = { 4, 58, 69, 54, 2, 48, 62, 78 }; //