四月十号java知识点2021-04-10 21:35:48
1.数组:若干个相同数据类型元素按照一定顺序排列的集合2.JAVA语言内存分为栈内存和堆内存3.方法中的一些基本类型变量和对象的引用变量都在方法中的栈内存中分配4.堆内存用来存放new运算符创建的数组或对象,在堆中存放的内存由java虚拟机的垃圾回收器来自动管理5.在堆中创建一个数组
JZ51构建乘积数组2021-04-10 21:32:28
构建乘积数组
给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。
收获:先把公式想清楚了再编程序就会思路清晰,写程序写的快。
b[0]
1
A[1]
A[2]
A[n - 1]
b[1]
A[0]
1
A[2]
A[n - 1]
.
1 #include
2 int main()
3 {
4 int num[10]={1,2,3,4,5,6,7,8,9,10},num1[10];
5 int i,j,k;
6 double average=0;
7 for(i=0;i<10;i++) //算平均数
8 average+=num[i];
9 average/=10;
10 for(i=0,k=0;i<10;i+
题目描述:
解析:
参考 VV大神 的题解:
https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/dong-tai-gui-hua-er-fen-cha-zhao-tan-xin-suan-fa-p/
方法一: 动态规划
//dp time: O(n^2) memory :O(n)
1. 定义状态:
基于「动态规划」
JZ50数组中重复的数字2021-04-10 21:03:36
数组中重复的数字
题目:
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任一一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的
题目:
一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。
示例 1:
输入: [0,1,3]
输出: 2
示例 2:
输入: [0,1,2,3,4,5,6,7,9]
输出: 8
限制:
1 <= 数组长度 <= 10000
稀疏数组的实现2021-04-10 19:35:05
原理
对于一些比较大的二维数组,其中有很多的位置为零,也就是无效的数据,我们在保存的时候只需要保存数组有数据的位置即可,这就是稀疏数组。
稀疏数组的第一行第0列是二维矩阵的行数,第1列是二维矩阵的列数,第2列是二维矩阵中的有效数据个数
在后几行的第0列是有效数据的行坐标,第1列是
jQuery下有个概念叫“类数组”,比如$( " li " ),当取到一个集合的时候,会有数组的一些属性,但是instancseof Array仍然是false。但是var a=$( "li" ).get()这样处理一下,然后instancseof Array就返回true。 要注意var a=$( "li" ).get(1)里头加序列号可以取到单个元素,这些元素的性质不
[].forEach.call()2021-04-10 17:03:10
要想明白[].forEach.call()这种写法,需要了解以下两点:
foreach() 是数组的方法,只有数组才能调用,forEach()可以接受一个function作为参数;
call()的使用一般是为了改变this的值;
call()的语法:
function.call(thisArg, arg1, arg2,...)
thisArg:可选的,在function函数运行时使用的t
kmp next数组求法2021-04-10 14:34:39
以字符串aabaaf为例
next数组可能有几种表达方式
如 0 1 0 1 2 0
-1 0 1 0 1 2
-1 0 -1 0 1 -1
实际上他们的本质上都是一样的
第一种当前后缀不匹配时,j跳到next[j-1];
第二种j跳到next[j];
#include
#include
using namespace std;
void Getnext(string
数组中重复的数字2021-04-10 14:02:28
map打标记
func findRepeatNumber(nums []int) int {
var same = map[int]void{}
for _, num := range nums{
if _, ok:=same[num];ok{
return num
}
same[num] = void{}
}
return -1
}
利用辅助数组arr,arr[i]
js遍历数组并以特定形式展示2021-04-10 14:01:26
1 var arr = [{
2 name: '1',
3 children: [{
4 name: 2,
5 children: []
6 },
7 {
8 name: 3,
9 child
题目描述:
标签:动态规划
数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。
每当你爬上一个阶梯你都要花费对应的体力值,一旦支付了相应的体力值,你就可以选择向上爬一个阶梯或者爬两个阶梯。
请你找出达到楼层顶部的最低花费。在开始
数组-在Shell脚本中的基本使用介绍2021-04-10 13:52:57
Shell脚本在运维工作中是极其重要的,而数组在shell脚本里的运用无论是在循环或运算方面都是非常实用的一个环节。下面是对shell脚本中数组方面一些操作在此进行记录,希望能帮助到有兴趣的朋友~1.数组定义[root@bastion-IDC ~]# a=(1 2 3 4 5 6 7 8)[root@bastion-IDC ~]# echo $a1
JZ35数组中的逆序对2021-04-10 13:02:50
数组中的逆序对
题目:
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 (题目保证输入的数组中没有的相同的数字)
对于50\%50%的数据,size\leq 10
堆排序思想及代码实现2021-04-10 12:01:21
堆排序思想及代码实现
前言
对于一个数组,如果要实现数组中元素从小到大进行排序,此时这种需求就可以利用堆排序进行实现。本文讲解如果利用堆排序实现数组元素从小到大进行排序。
一、实现步骤
1.构造堆; 2.得到堆顶元素,这个值就是最大值; 3.交换堆顶元素和数组中的最后一个元素
JZ30连续子数组的最大和2021-04-10 10:32:39
连续子数组的最大和
输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n).
思路:
动态规划解析:状态定义: 设动态规划列表 dpdp ,dp[i]dp[i] 代表以元素 nums[i]nums[i] 为结尾的连续子数组最大和。
MATLAB2021-04-10 10:04:31
一,基操
1,命令窗口中的标点符号:
空格:用于输入变量之间的分隔符以及数组行元素之间的分隔符。
逗号:用于要显示计算结果的命令之间的分隔符;用于输入变量之间的分隔符;用于数组行元素之间的分隔符。
点号:用于数值中的小数点。
分号:用于不显示计算结果命令行的结尾;用于不显示计算结果命
算法(十四)数组之双指针2021-04-10 10:01:11
两数之和 II - 输入有序数组(leetcode_167)
题目
给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。
函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <
目录
一、初见shell(1)什么是shell编程(2)为什么要学shell编程
二、一睹为快:我的第一个shell脚本三、变量(1)定义和使用(2)用语句给变量赋值(3)好习惯之变量使用时加上 { }(4)变量是可以被重新定义的(5)只读变量与删除变量(6)变量的三种类型局部变量环境变量shell变量
四、shell字符串(1)单
题目描述
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
说明:
为什么返回数值是整数,但输出的答案是数组呢?
请注意,输入数组是以
【37】面试题44:扑克牌的顺子2021-04-09 21:57:10
【1】题目
题目:从扑克牌中随机抽 5张牌,判断是不是一个顺子,即这 5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王可以看成任意数字。
【2】思路
首先把数组排序,再统计数组中0的个数,最后统计排序之后的数组中相邻数字之间的空缺总数。如果空缺的总数小于或者等于0
二分查找
二分查找也称折半查找(Binary Search),它是一种效率较高(O(logN)的查找方法,前提是数据结构必须先排好序,可以在数据规模的对数时间复杂度内完成查找。但是,二分查找要求线性表具有有随机访问的特点(例如数组),也要求线性表能够根据中间元素的特点推测它两侧元素的性质,以达到缩减
把数组排成最小的数2021-04-09 20:57:55
题目连接:https://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993?tpId=13&tqId=11185&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking&tab=answerKey.
把数组排成最小的数
基本思想代码总结
基本思想
首先将整型数
函数指针数组2021-04-09 16:51:46
我们先来看一下什么是函数指针,有一个函数
int Add(intx,inty){
return x+y;
}
int main(){
int x=10;
int y=20;
int ret=Add(x,y);
printf("%d",ret);
}
函数名Add函数地址为Add,(也就是函数名)
函数指针,是用来存放函数地址的指针那么我们看这个加法函数的地址就是Add所以 我们怎