arr

数组任意取三个数中乘积最大值

匿名 (未验证) 提交于 2019-12-02 21:45:52
一、给定一个整型数组,包括正负值,找出取任意三个值的乘积最大   1、对整型排序(这里使用堆排序)      //堆排序 private static void headSort(int arr[], int len) { int s = len / 2; for (int i = s; i >= 0; i--) { hSort(arr, i, len); } for (int i = len; i >0 ; i--) { swap(arr, 0 , i); hSort(arr, 0, i-1); } } private static void swap(int arr[], int s, int n) { int t = arr[s]; arr[s] = arr[n]; arr[n] = t; } private static void hSort(int arr[], int s, int len) { int v = arr[s]; for (int i = 2 *s + 1; i < len; i*=2) { if (i < len && arr[i] < arr[i+1]) { i = i + 1; } if (v >= arr[i]) break; arr[s] = arr[i]; s = i; } arr[s] = v; }   2

Java-Array01

匿名 (未验证) 提交于 2019-12-02 21:35:18
Array class ArrayDemo { public static void main(String[] args) { /* 数组的定义方式: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度]; 好处:数组可以存储多个数据,而且可以对数据进行编号, 从0开始。操作元素完成可以通过编号(索引)完成。 */ int[] arr = new int[3];//通过new关键字创建了一个长度为3,元素类型是int的数组实体。 System.out.println(arr[1]); //System.out.println(arr[3]);//ArrayIndexOutOfBoundsException:访问到了数组不存在的索引时,会发生该异常。 arr = null; System.out.println(arr[0]);//NullPointerException:当使用没有任何实体指向的引用变量操作实体时,运行会发生该异常。 /* Java对内存空间的划分:五部分: 栈,堆,方法区,本地方法区,寄存器。 栈内存:存储都是局部变量。只要是在方法中定义的变量都是具备变量。 一旦变量的生命周期结束该变量就被释放。 堆内存:存储都是实体(对象) 每一个实体都有一个首地址值。 堆内存的变量都有默认初始化值。不同类型不一样。int-0 double-0.0 boolean

JavaScript―瀑布流

匿名 (未验证) 提交于 2019-12-02 21:35:18
现在网页中需要翻页的列表,好多都已经改为瀑布流了。所以这个思路还是特别重要的 HTML Css 页面 因为每个图片的高度不一样所以她的 top 和left 我们待会通过JS计算 动态生成 <script> // 1.获取父容器的宽度 获取子容器的宽度 算出一列放多少个,边距 // 2.通过计算盒子的高度,布局方法 // 3.瀑布流启动 //获取父容器 let itemBox=document.getElementById('itembox') //父容器宽度 let iBoxW=itemBox.offsetWidth; // 子容器和宽度 let item=document.getElementsByClassName('item') let itemW=item[0].offsetWidth //列数 const rowNum=Math.floor(iBoxW/itemW) //间距 const distents=Math.floor((iBoxW-itemW*rowNum)/rowNum) // console.log(distents,rowNum) // 每个图片的left=列数*(图片大小+间距) //每个图片的top值为当前高度最低的top //保存每列的高度、索引就是我们放的列数,值就是top let arr=[] // 实现布局 for (let i=0;i

二分查找(二)

醉酒当歌 提交于 2019-12-02 20:28:27
【找到 K 个最接近的元素】 给定一个排序好的数组,两个整数 k 和 x,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。如果有两个数与 x 的差值一样,优先选择数值较小的那个数。 示例 1: 输入: [1,2,3,4,5], k=4, x=3 输出: [1,2,3,4] 示例 2: 输入: [1,2,3,4,5], k=4, x=-1 输出: [1,2,3,4] 链接:https://leetcode-cn.com/problems/find-k-closest-elements def findClosestElements(self, arr, k, x): """ :type arr: List[int] :type k: int :type x: int :rtype: List[int] """ # 查找>=目标值 def find_target(arr, target): left = 0 right = len(arr) - 1 while left <= right: mid = (left + right) // 2 if target > arr[mid]: left = mid + 1 else: right = mid - 1 return left index = find_target(arr, x) left,

数组的转置和换轴

China☆狼群 提交于 2019-12-02 20:15:24
转置是一种特殊的 数据重组形式,可以返回底层数据的视图而不需要复制任何内容。数组拥有transpose方法,也有特殊的 T 属性: import numpy as np arr = np.arange(15).reshape((3,5)) print(arr) print('------------|') arr=arr.T #把arr数组给转置了,行列互换 print(arr) #计算矩阵内积会使用 np.dot arr1 = np.random.randn(6,3) print(arr1) print('------------------') arr2 =np.dot(arr1.T, arr1 print(arr2) [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]] ------------| [[ 0 5 10] [ 1 6 11] [ 2 7 12] [ 3 8 13] [ 4 9 14]] [[-0.10721531 -0.9623694 2.40925637] [ 1.37846812 -1.08492064 1.52178665] [ 2.27103816 0.05325764 0.06673496] [-0.07155395 0.21708365 -0.7271715 ] [-1.54946414 -0.10253511 0

通用函数:快速的逐元素数组函数

北城余情 提交于 2019-12-02 20:15:23
通用函数也可以称为 ufunc, 是一种在 ndarray 数据中进行逐元素操作的函数。某些简单函数接受了一个或者多个标量数值,并产生一个或多个标量结果,而通用函数就是对这些简单函数的向量化封装。 有很多 ufunc 是简单的逐元素转换,比如 sqrt 和 exp 函数: import numpy as np arr = np.arange(10) print(arr) print('-----------') print(np.sqrt(arr)) print('-----------') print(np.exp(arr)) #计算每个元素的自然指数值e的x次。 [0 1 2 3 4 5 6 7 8 9] ----------- [0. 1. 1.41421356 1.73205081 2. 2.23606798 2.44948974 2.64575131 2.82842712 3. ] ----------- [1.00000000e+00 2.71828183e+00 7.38905610e+00 2.00855369e+01 5.45981500e+01 1.48413159e+02 4.03428793e+02 1.09663316e+03 2.98095799e+03 8.10308393e+03] 这些就是所谓的一元通用函数。 介绍一下 二元通用函数 :比如 add

八大排序算法

让人想犯罪 __ 提交于 2019-12-02 20:10:24
一、直接插入排序 原理 :直接插入排序(Straight Insertion Sorting)的基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 public void insertSort(int[] arr) { int len = arr.length; int insertNum; for(int i=1; i < len; len++) { insertNum = arr[i]; int j = i - 1; while (j >= 0 && arr[j] > insertNum) { arr[j+1] = arr[j]; j--; } arr[j+1] = insertNum; } } 二、希尔排序 针对直接插入排序的效率问题,有人对次进行了改进与升级,这就是现在的希尔排序。 希尔排序 ,也称 递减增量排序算法 ,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入排序一般来说是低效的, 因为插入排序每次只能将数据移动一位 对于直接插入排序问题,数据量巨大时。 将数的个数设为n,取奇数k=n/2

Leetcode 1239. 串联字符串的最大长度

若如初见. 提交于 2019-12-02 20:06:21
地址 https://leetcode-cn.com/problems/maximum-length-of-a-concatenated-string-with-unique-characters/submissions/ 给定一个字符串数组 arr,字符串 s 是将 arr 某一子序列字符串连接所得的字符串,如果 s 中的每一个字符都只出现过一次,那么它就是一个可行解。 请返回所有可行解 s 中最长长度。 示例 1: 输入:arr = ["un","iq","ue"] 输出:4 解释:所有可能的串联组合是 "","un","iq","ue","uniq" 和 "ique",最大长度为 4。 示例 2: 输入:arr = ["cha","r","act","ers"] 输出:6 解释:可能的解答有 "chaers" 和 "acters"。 示例 3: 输入:arr = ["abcdefghijklmnopqrstuvwxyz"] 输出:26 提示: 1 <= arr.length <= 16 1 <= arr[i].length <= 26 arr[i] 中只含有小写英文字母 题解: 1 首先考虑DFS 遍历各种组合 2 考虑使用bit代表各个字符出现与否   这里为了代码写的方便 使用了一个26长度的数组 记录字符是否出现与否 代码 class Solution { public

json.stringify()与.parse的区别

自闭症网瘾萝莉.ら 提交于 2019-12-02 19:25:20
最近做项目,发现JSON.stringify()使用场景真的挺多,我们都知道 JSON.stringify()的作用是将 JavaScript 对象转换为 JSON 字符串, 而 JSON.parse()可以将JSON字符串转为一个对象。 简单点说,它们的作用是相对的,我用 JSON.stringify()将对象a变成了字符串c,那么我就可以用 JSON.parse()将字符串c还原成对象a。 let arr = [1,2,3]; JSON.stringify(arr);//'[1,2,3]' typeof JSON.stringify(arr);//string let string = '[1,2,3]'; console.log(JSON.parse(string))//[1,2,3] console.log(typeof JSON.parse(string))//object 在使用 JSON.parse() 需要注意一点,由于此方法是将JSON字符串转换成对象,所以 你的字符串必须符合JSON格式,即键值都必须使用双引号包裹 : let a = '["1","2"]'; let b = "['1','2']"; console.log(JSON.parse(a));// Array [1,2] console.log(JSON.parse(b));// 报错

IIS as a reverse proxy - compression of rewritten response from backend server

梦想与她 提交于 2019-12-02 19:09:57
I am implementing a reverse proxy for routing requests to a backend server. Functionally everything works correctly, however I am concerned that all responses from the backend server are transferred to the client (web browser) without compression. The setup is as follows: Backend server, not accessible for public, on an internal domain. Hosts a web application on https://internal.app Front web server with IIS 7.5, hosting the main public website and acting as a proxy for the backend server. The main site is at https://site.com . I want to route all requests to https://site.com/app/WHATEVER to