array

python两列表对应元素求和

。_饼干妹妹 提交于 2019-12-27 01:51:28
一种方法是循环,但是有简便方法,用numpy import numpy as np list1=[1,2,3,4] list2=[1,2,3,4] a_array = np.array(list1) b_array = np.array(list2) c_arry=a_array+b_array print(c_arry) 列表中的数字是字符串形式的话 import numpy as np list1=['1','2','3','4'] list2=[1,2,3,4] a_array = np.array(list1).astype(np.float) b_array = np.array(list2).astype(np.float) c_arry=a_array+b_array print(c_arry) 来源: CSDN 作者: 李孟笛 链接: https://blog.csdn.net/lipachong/article/details/103715383

[LeetCode] Maximal Square

余生长醉 提交于 2019-12-26 15:53:09
Maximal Square Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and return its area. For example, given the following matrix: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 Return 4. 枚举就OK了,时间复杂度为O(n^3),276ms AC。 1 class Solution { 2 public: 3 int getArea(vector<int> &array, int k) { 4 if (array.size() < k) return 0; 5 int cnt = 0; 6 for (int i = 0; i < array.size(); ++i) { 7 if (array[i] != k) cnt = 0; 8 else ++cnt; 9 if (cnt == k) return k * k; 10 } 11 return 0; 12 } 13 int maximalSquare(vector<vector<char>>& matrix) { 14 vector<int> array; 15 int res = 0

LeetCode 561. Array Partition I(Easy)

自古美人都是妖i 提交于 2019-12-26 11:40:03
Description: Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), …, (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible. Example 1: Input: [1,4,3,2] Output: 4 Explanation: n is 2, and the maximum sum of pairs is 4 = min(1, 2) + min(3, 4). Note: n is a positive integer, which is in the range of [1, 10000]. All the integers in the array will be in the range of [-10000, 10000]. Analysis: m i n { a i , b i } = a i + b i 2 − b i − a i 2 min\{a_{i}, b_{i}\} = \frac{a_{i} + b_{i}}{2} - \frac{b_{i} - a_{i}}

[leetcode note] Remove Duplicates from Sorted Array II

纵饮孤独 提交于 2019-12-26 11:31:55
时间: 2019-12-25 10:12 PM 题目地址: https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/ Given a sorted array nums, remove the duplicates in-place such that duplicates appeared at most twice and return the new length. Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory. Example 1: Given nums = [ 1 , 1 , 1 , 2 , 2 , 3 ] , Your function should return length = 5 , with the first five elements of nums being 1 , 1 , 2 , 2 and 3 respectively . It doesn't matter what you leave beyond the returned length . Example 2:

Numpy基础知识

别等时光非礼了梦想. 提交于 2019-12-26 06:11:25
Numpy 基础知识 ndarray数组和list列表分别完成对每个元素增加1的计算 # https://aistudio.baidu.com/aistudio/projectdetail/225067 # ndarray数组和list列表分别完成对每个元素增加1的计算 # Python原生的list # 假设有两个list a = [ 1 , 2 , 3 , 4 , 5 ] b = [ 2 , 3 , 4 , 5 , 6 ] # 完成如下计算 # 1 对a的每个元素 + 1 # a = a + 1 不能这么写,会报错 # a[:] = a[:] + 1 也不能这么写,也会报错 for i in range ( 5 ) : a [ i ] = a [ i ] + 1 a [2, 3, 4, 5, 6] # 使用ndarray import numpy as np a = np . array ( [ 1 , 2 , 3 , 4 , 5 ] ) a = a + 1 a array([2, 3, 4, 5, 6]) # ndarray数组和list列表分别完成相加计算 # 2 计算 a和b中对应位置元素的和,是否可以这么写? a = [ 1 , 2 , 3 , 4 , 5 ] b = [ 2 , 3 , 4 , 5 , 6 ] c = a + b # 检查输出发现,不是想要的结果 c

判定类型

自闭症网瘾萝莉.ら 提交于 2019-12-25 15:49:11
目前最精确的判定方法(不包括自定义类型) //2010.6.1更新 var is = function (obj,type) { return (type === "Null" && obj === null) || (type === "Undefined" && obj === void 0 ) || (type === "Number" && isFinite(obj)) || Object.prototype.toString.call(obj).slice(8,-1) === type; }, 用法如下: //***************示例一,判定数组与函数 var forEach = function(array,fn,bind){ if(is(array,"Array") && is(Array.forEach,"Function")){ array.forEach(fn,bind); }else{ for(var i=0,n=array.length;i<n;i++){ i in array && fn.call(bind,array[i],i,array) } } } //***************示例二,判定null var a = null alert(is(a,"Null")) //***************示例二,判定undefined var

堆排序的实现

只愿长相守 提交于 2019-12-24 12:57:12
import java . util . Arrays ; public class HeapSort { public static void main ( String [ ] args ) { //要求将数组转变程升序排列 int [ ] array = new int [ 6 ] ; int len = array . length ; for ( int i = 0 ; i < len ; i ++ ) { array [ i ] = ( int ) ( Math . random ( ) * 100 ) ; } heapSort ( array ) ; System . out . println ( Arrays . toString ( array ) ) ; } public static void heapSort ( int [ ] array ) { for ( int i = array . length / 2 - 1 ; i >= 0 ; i -- ) { adjustHeap ( array , i , array . length ) ; } for ( int i = array . length - 1 ; i > 0 ; i -- ) { array [ 0 ] = array [ 0 ] + array [ i ] - ( array [

[JS] Flatten array

喜夏-厌秋 提交于 2019-12-24 05:05:52
拍平数组,这个在lodash里也是很常见的方法,那自己实现一个看看: 普通拍平: const flatten = arr => [ ] . concat ( ... arr . map ( v => ( Array . isArray ( v ) ? v : [ v ] ) ) ) ; 测试 flatten ( [ 1 , [ 2 ] , [ [ 3 ] , 4 ] , 5 ] ) ; // [1, 2, [3], 4, 5] 逻辑很简单,如果元素是数组的话,那就直接返回,否则就包装成数组,再去整体spread。 深度拍平: const deepFlatten = arr => [ ] . concat ( ... arr . map ( v => ( Array . isArray ( v ) ? deepFlatten ( v ) : v ) ) ) ; 测试: deepFlatten ( [ 1 , [ 2 ] , [ [ 3 ] , 4 ] , 5 ] ) ; // [1, 2, 3, 4, 5] 这个深度拍平比上面那个有意思,如果是数组,那就继续拍平,否则直接返回spread,拼接就行了。 来源: CSDN 作者: K.Sun 链接: https://blog.csdn.net/sinat_36246371/article/details/103672117

swift - 开心一刻

隐身守侯 提交于 2019-12-24 04:52:14
let array = ["one", "two", "three", "four", "five"] //老版本 : 没缩写前的闭包 var result = sort(array, {(s1 : String, s2 : String) -> Bool in return s1 < s2}) //老版本 : 终极缩写后的闭包 result = sort(array, <) {(s1 : String, s2 : String) -> Bool in return s1 < s2} == < 似 不 似 很 神 奇 ,代码泗不泗很奇妙, 一大串的字符串用一个字符就搞定了。 var array = ["one", "two", "three", "four", "five"] //目前 : 没缩写前的闭包 array.sort(by: {(s1 : String, s2 : String) -> Bool in return s1 < s2}) //目前 : 终极缩写后的闭包 array.sort(){$0 < $1} 来源: https://www.cnblogs.com/sheer-code/p/11027687.html

视觉感受 7 种常用的排序算法及代码实现

寵の児 提交于 2019-12-23 17:46:19
来自:todayx.org 链接:http://www.blogjava.net/todayx-org/archive/2012/01/08/368091.html   一步一步实现代码。 1 快速排序 介绍:   快速排序是由 东尼·霍尔 所发展的一种 排序算法 。在平均状况下,排序 n 个项目要 Ο ( n log n )次比较。在最坏状况下则需要 Ο ( n 2 )次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο ( n log n ) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项之可能性。 步骤: 从数列中挑出一个元素,称为 "基准"(pivot), 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为 分区(partition) 操作。 递归 地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。 排序效果: 算法思想:   基于分治的思想,是冒泡排序的改进型。首先在数组中选择一个基准点(该基准点的选取可能影响快速排序的效率,后面讲解选取的方法),然后分别从数组的两端扫描数组,设两个指示标志(lo指向起始位置