Java学习(十):常用框架ArrayList的原理和特性
Collection下面几种常见的类,如ArrayList、LinkedList、HashSet、TreeSet等。下面通过JDK源码来一起分析ArrayList底层是如何实现的。
ArrayList数据结构
分析一个类的时候,数据结构往往是它的灵魂所在,理解底层的数据结构其实就理解了该类的实现思路,具体的实现细节再具体分析。
ArrayList的数据结构如下:
说明:底...
Java学习(十一):LinkedList的原理和特性
在分析了ArrayList了之后,紧接着必须要分析它的同胞兄弟:LinkedList,LinkedList与ArrayList在底层的实现上有所不同,其实,只要我们有数据结构的基础,在分析源码的时候就会很简单,下面进入正题,LinkedList源码分析。
LinkedList数据结构
LinkedList的核心部分:数据结构,其数据结构如下
说明:如上图所示,LinkedList底层...
Vue项目的代码构建风格规范
VUE的项目命名规范
概述:当团队有几个人同时开发一个项目的时候一定要事先规范好大家的代码风格,最好能用Eslint等工具规范一起写作。这里分享一些自己在工作中认为比较好的约定。
具体内容
一下的描述仅仅针对Vue开发的项目
1、在data中:
1-1、Boolean 类型,用于控制元素的显示隐藏,统一用“is”开头,比如:isShowLoading
1-2、Form表单类,同一个表...
java中String类不可改变的解析
如下代码
String s = "Google";
System.out.println("s = " + s);
s = "Runoob";
System.out.println("s = " + s);
运行结果为
Google
Runoob
从结果上来看是改变了,但实际上来说s只是一个引用,他只是从指向一个对象转变为指向另一个对象而已,实际上
opengl环境配置+vs2017
Step 1:
Glfw: GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入,这正是我们所需要的。
构建glfw:
1.GLFW可以从它官方网站的下载页上获取。为了完整性我们将从编译源代码开始。所以我们需要下载源代码包(即Sourcefile)。
下载源码包之后,将其解压并打开。我们只需要...
小白入门opengl(一)开始制作第一个窗口
在程序一开始写下如下代码
#include<glad/glad.h>
#include<GLFW/glfw3.h>
接下来就开始创建main函数 ,在此函数中我们会实例化GLFW窗口:
int main()
{
glgwInit();//调用glfwInit函数来初始化GLFW
glfwWindowHint(GLFW_CONTEXT_VERSION_M...
Day5 爬梯子问题,典型的动态规划题
problem describing
:
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数。
首先,我只能想到递归求解的方法,即将问题分解成一个个的子问题。
n阶的解=n-1阶的解+n-2阶的解;
可惜他超时了。。。
class Solution {
public:
int ...
Day 5最大子序和求解
problem description:
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
示例:
输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大为 6。
1暴力法(事实证明暴力魔法不可取啊(手动狗头))
又一次超时了
class Solution {
p...
Day 6.1 最小代价爬楼梯
problem describe:
On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed).
Once you pay the cost, you can either climb one or two steps. You need to find minimum cost t...
Day6.2 打家劫舍问题
problem describe:
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
solution:
读完题目,这又是一道动态规划问题,如果能够将其分解...
Day7 比特位计数
problem describe:
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1’s in their binary representation and return them as an array.
给定一个非负...
【原创】【百度之星2017初赛A】1001 小C的倍数问题
小C的倍数问题Accepts: 1990 Submissions: 4931 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description根据小学数学的知识,我们知道一个正整数x是3的倍数的条件是x每一位加起来的和是3的倍数。反之,如果一个数每一位加起来
【原创】【百度之星2017初赛A】1005 今夕何夕
今夕何夕Accepts: 1345 Submissions: 5533 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description今天是2017年8月6日,农历闰六月十五。小度独自凭栏,望着一轮圆月,发出了“今夕何夕,见此良人”的寂寞感慨。为了排遣郁结,
【原创】【百度之星2017初赛A】1006 度度熊的01世界
度度熊的01世界Accepts: 967 Submissions: 3064 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description度度熊是一个喜欢计算机的孩子,在计算机的世界中,所有事物实际上都只由0和1组成。现在给你一个n*m的图像,你需要分辨
【原创】【有趣无用】一句话算法
一句话算法
前言
突发奇想,说到做到,惜字如金,好戏开场。
开始
深搜dfs
——有路就走至底,无路则回到始。
广搜bfs
——一次一层的枚举,先入先出用队列。
二分(三分)答案
——答案有单调性,检测后分左右。
分治
——大问题分成小问题,小问题沿用大方法。
贪心
——能一步登天,为什么不一步登天呢?
动态规划
——一个方程,适配所有情况,利用过去,求出现在,造
【原创】【程序小游戏】从井字棋下到30子棋!可以扩充棋盘的棋!
N子棋描述如题,
具体自己Copy下来看~AuA代码#include<ctime>
#include<cstdio>
#include<conio.h>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<windows.h>
#include<algorithm>
using namespace std;void col
【原创】数论模板-拓展欧几里得,质因数分解,快速幂快速加,欧拉函数筛法,欧拉函数求法,筛质数,卡塔兰数,筛逆元,第一二类斯特林数,米勒罗宾算法
#include<cstdio>
const int MAXN=12345;//拓展欧几里得:返回值=gcd(a,b),x,y满足a*x+b*y=gcd(a,b),a^x≡1(mod b) 即逆元
int exgcd(int a,int b,int &x,int &y)
{
if(!b)
{
x=1,y=0;
return a;
}
【原创】最短路模板 Floyd,优先队列优化dijkstra,SPFA
天天高高兴兴打打模板```
#include<cmath>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std; const int MAXN=100;
const int MAXM=1000;
const int INF
【原创】模板-树的前中后序遍历,树的重心直径
天天高高兴兴打模板#include<ctime>
#include<cstdio>
#include<vector>
#include<cstdlib>
using namespace std;
const int MAXN=12345;//二叉树前中后序遍历
int L[MAXN],R[MAXN],up[MAXN];void XXBL(int i)
{
printf("%d\n",i);
【原创】STL部分常用数据结构用法汇总 -优先队列,set
天天高高兴兴写模板!优先队列:#include<queue>
#include<cstdio>
using namespace std;priority_queue<int,vector<int>,less<int> >q1;//降序
priority_queue<int,vector<int>,greater<int> >q2;//升序
priority_queue<int>q3;//升序
str
今日推荐
周排行