arr

【转发】数组,字符串常用方法

心已入冬 提交于 2019-11-27 18:54:08
1. 数组对象 改变原数组的: 1.shift:将第一个元素删除并且返回删除元素,空即为undefined var arr = ['a', 'b', 'c']; arr.shift() // 'a' console.log(arr) // ['b', 'c'] 1 2 3 2.unshift:向数组开头添加元素,并返回新的长度 var arr = ['a', 'b', 'c']; arr.unshift('x'); // 4 console.log(arr); // ['x', 'a', 'b', 'c'] 1 2 3 3.pop:删除最后一个并返回删除的元素 var arr = [1,2,3]; console.log( arr.pop() );  // [3]  //返回删除的元素 console.log(arr); // [1,2] 1 2 3 4.push:向数组末尾添加元素,并返回新的长度 var arr = [1,2,3]; console.log(arr.push(4)); // 4 //表示当前数组长度 console.log(arr); // [1, 2, 3, 4] 1 2 3 5.reverse:颠倒数组顺序 var arr = ['a', 'b', 'c']; arr.reverse() // ["c", "b", "a"] console.log(arr)

算法——排序(选择排序)

旧时模样 提交于 2019-11-27 18:53:14
  选择排序算法的核心是找到数据中的最小值放置到第一位,接着找到第二最小的值并放到第二位,以此类推。代码演示如下: 1 let arr = [5, 7, 3, 9, 1] 2 3 function swap(arr, index1, index2) { 4 var temp = arr[index1] 5 arr[index1] = arr[index2] 6 arr[index2] = temp 7 } 8 9 function changeSort(arr) { 10 for (i = 0; i < arr.length - 1; i++) { 11 let minIndex = i 12 for (j = i; j < arr.length; j++) { 13 if (arr[minIndex] > arr[j]) { 14 minIndex = j 15 } 16 } 17 if (i !== minIndex) { 18 swap(arr, i, minIndex) 19 } 20 } 21 } 22 23 changeSort(arr) 24 console.log(arr) // 结果 [ 1, 3, 5, 7, 9 ]    来源: https://www.cnblogs.com/pcyu/p/11373127.html

Python | Numpy | 读取文件和存储数据

Deadly 提交于 2019-11-27 18:38:26
使用Numpy读取文件 1、纯数字的数组 arr = np.loadtxt('data.txt',delimiter=',') print(arr) [[1. 2. 3.] [4. 5. 6.] [7. 8. 9.]] 2、含有字符串的数组 arr = np.loadtxt('data.txt',str,delimiter=',') print(arr) [['name' 'score'] ['Liyuan' '90'] ['Chenya' '85']] 多文件一起存储,读取 arr1 = np.array([1, 2, 3]) #假设有三个ndarray arr2 = np.eye(5) arr3 = np.zeros((3, 4)) np.savez('arr.npz', x0=arr1, x1=arr2, x2=arr3) #将其保存 f = np.load('arr.npz') #加载 print(f['x1']) #读取 [[1. 0. 0. 0. 0.] [0. 1. 0. 0. 0.] [0. 0. 1. 0. 0.] [0. 0. 0. 1. 0.] [0. 0. 0. 0. 1.]] 来源: CSDN 作者: 訸七 链接: https://blog.csdn.net/nanaanana/article/details/80511239

Numpy进行文件的保存与读写

半世苍凉 提交于 2019-11-27 18:36:14
Numpy文件读写主要有二进制和文件列表形式的数据读写两种形式。 (1)二进制文件的保存与读取 保存:save函数以二进制格式保存数据。格式如下: np.save(file,arr,allow_pickle=True,fix_imports=Ture) file 要保存的文件名称,需指定文件保存路径,如果未设置,保存到默认路径 arr 为需要保存的数组,也即把数组arr保存至名称为file的文件中,其文件拓展名为.npy 读取:load函数从二进制的文件中读取数据。格式如下: np.load(path,file) #保存时可以省略其文件扩展名,读取时不能省略。 (2)实际数据分析中,更多使用文本格式的数据,如TXT,CSV,因此常用savetxt函数、loadtxt函数,genfromtxt函数进行读取 np.savetxt(fname,x,fmt='%0.18e',delimiter=' ',newline='\n',header='',footer='',comments='#') fname,即为文件名 x为数组数据, delimiter是第四个参数,表示为数据分隔符,多用“,” loadtxt函数执行相反的操作,即把文件加载到一个二维数组中 gentxt函数和loadtxt函数相似,不过它面对的是结构化数组和缺失数据,通常有三个参数fname,delimiter

零基础学习java------day12------

痞子三分冷 提交于 2019-11-27 16:59:56
0.数组高级 (1)选择排序     它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的起始位置。以此类推,直到全部待排序的数据元素排完 // 选择排序 /** * asc:升序 desc:降序 * @param arr 要排序的数组 * @param isAsc 是否升序 true:升序 false:降序 */ // 下面是直接交换元素,零一种方法是定义一个最小下角标,如minIndex = i public static void selectSort(int[] arr, boolean isAsc) { for(int i=0;i<arr.length-1;i++) { for(int j=i+1;j<arr.length;j++) { if(isAsc) { if(arr[j]<arr[i]) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }else { if(arr[j]>arr[i]) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } } View Code (2)冒泡排序    冒泡排序(Bubble Sort)

Python:如何求数组连续最大值

本秂侑毒 提交于 2019-11-27 16:40:53
1.重复利用已经计算的子数组和:O(n 2 ) def maxSubArr(arr): if arr == None: print('数组为空') return maxsum = -2**31 i = 0 lens = len(arr) while i<lens : j = i sums = 0 while j<lens : sums += arr[j] if sums > maxsum : maxsum = sums j += 1 i += 1 return maxsum 2.动态规划法:O(n) def maxSubArr(arr): lens = len(arr) if arr == None or lens<1 : print('参数不合法') return ends = alls = arr[0] i = 1 while i<lens : ends = max(ends+arr[i], arr[i]) #包含最后一个元素的最大子数组和 alls = max(ends, alls) #最大子数组和 i += 1 return alls 来源: https://blog.csdn.net/weixin_42712658/article/details/99698085

斗地主基本牌型判断

為{幸葍}努か 提交于 2019-11-27 16:11:59
/** * Created by xujw on 2017/10/16. * 斗地主 * 单副扑克 * 没有癞子玩法 * 牌对象为{grade:3,face:1} * grade 牌面点数(3-13:3-K, 14:A, 15:2, 16:小王 17:大王) * face 牌面花色(1:黑桃、2:红桃、3:梅花、4:方块) */ var CARD_TYPE_INVALID = -1; // 无效手牌 var CARD_TYPE_SINGLE = 1; // 单张 var CARD_TYPE_DOUBLE = 2; // 对子 var CARD_TYPE_THREE = 3; // 三张 var CARD_TYPE_THREE_ONE = 4; // 三带一(三带一张或者一对) var CARD_TYPE_BOMB = 5; // 炸弹 var CARD_TYPE_FORE_TWO = 6; // 四带二 var CARD_TYPE_CONTINUOUS_SIGNGLE = 7; // 单顺(5张起) var CARD_TYPE_CONTINUOUS_DOUBLE = 8; // 双顺(3对起) var CARD_TYPE_AIRPLANE = 9; // 飞机 (两个三张起) var CARD_TYPE_AIRPLANE_WING = 10; // 飞机带翅膀 (三顺

归并排序代码实现

一个人想着一个人 提交于 2019-11-27 16:02:39
描述: 归并排序 - 外部排序(内存有限制,数据无法一次性放入内存,怎么对数据进行排序) JDK库里面的Java代码,涉及排序都优先采用快排(空间复杂度更好一点) 外部排序的问题(文件的操作): 现在有50亿个整数,内存限制200M,问你该怎么对这 50亿个整数进行排序? 50亿 = 5G * 4 = 20G 步骤一:先生成100个小文件,每个文件保存一部分数据 大文件里面的整数 % 100 = 小文件的下标 一亿个整数的文件, 内存限制4M 100M * 4 = 400M 1G = 10亿 100M = 1亿 package sort; import java.util.Arrays; import java.util.Collections; public class MergeSort { public static void main(String[] args) { int[] arr = new int[20]; for (int i = 0; i < arr.length; i++) { arr[i] = (int)(Math.random()*100); } mergeSort(arr, 0, arr.length-1); System.out.println(Arrays.toString(arr)); } /** * 实现归并排序 * @param arr *

数组

本秂侑毒 提交于 2019-11-27 15:50:30
一、 数组 Java中数组是 相同类型数据 的 有序 集合 。每个数组元素可以通过一个下标来访问,下标从0开始。 数组 的 特性:[1] 数组 长度确定。数组 一旦 创建, 未来 长度不能发生改变 。[2] 数组 的元素类型都相同。 [3] 数组 是有序的。[4] 数组 是引用数据类型。       [5] 每个数组元素有默认值,double:0.0,boolean:false,int:0 二、 冒泡排序 ① 外层循环,它决定一共走几趟, for (int i = 0; i <a.length-1; ++i) ② 内层循环,它决定每趟走一次, for (int j = 0; j <a.length-i-1 ; ++j) ③内层中,两两排序 三、选择排序 ①外层循环,for (int i = 0; i < a.length - 1; i++),可 认为第i个数是最小的, int minIndex = i; ②内层循环,寻找真实最小的下标,for (int j = i + 1; j < a.length; j++) { if (a[ minIndex ] > arr[ j ]) { minIndex = j;} } ③退出内层,minIndex 和 i 互换 四、 插入排序 ①int i,j;外层循环,for (i = 1; i < a.length ; i++),获取该元素 temp

javaScript中的DOM

霸气de小男生 提交于 2019-11-27 15:46:08
首先整理了一下前面的API: arr.sort( );比较两个值大小的函数,可以对数组做升降序处理。 arr.reverse( );翻转,可以用来颠倒数组元素,但不负责排序。 arr.push( );在数组的最后追加元素。 arr.pop( );删除数组的最后一个元素。 arr.shift( );删除数组开头的第一个元素,并返回第一个元素。 arr.unshift( );在数组的开头添加元素。 arr.join("自定义的连接符");--------arr.join("")无缝连接。 arr.slice(starti,endi+1); 选取starti位置到endi位置的所有元素,组成临时数组。 arr.splice(starti,n,value1,value2,);删除arr中starti开始的n个元素,插入value1,value2。 arr.concat(value1,value2,value3,arr1........)拼接到arr的结尾。 str.subStr(starti,n);选取starti开始的n个元素,n可以省略,表示截取starti开始到所有元素。 str.subString(starti,endi+1);选取starti到endi+1的元素,含头不含尾。 str.replace(/正则表达式/gi,"替换值");替换。 str.split(/正则/);切割。