自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 各种算法模板

public static void quick_sort(int[] q,int l,int r){//快速排序模板,l为数组最左边,一般为0,r为数组最右端,一般为q.length-1//思想是,第一步先选取一个值x作为分界点,可以是q[l],q[r],q[l+r>>1],数组中随机一个值;然后第二步,选取左右指针,分别往中间走,当左指针遇到大于等于x时,停下,右指针遇到小于等于x时,停下,交换左右指针对应的值,一直循环,直到左指针大于等于右指针;第三步:递归排序 if(l

2020-05-27 22:41:05 1157

原创 5. 最长回文子串(LeetCode)

class Solution { public String longestPalindrome(String s) { int len=s.length(); if(len<1){ return ""; } int res=1,start=0; int[][] dp=new int[len][len]; for(int i=0;i<len;i++){

2020-05-18 22:53:42 101

原创 螺旋矩阵(蛇形矩阵)相关

#include <iostream>#include <vector>#include <string.h>using namespace std;vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> v; int row=matrix.size(); int col=matrix[0].size();

2020-05-17 13:18:03 105

原创 java线程相关知识(一)

例如 i++这个操作,jvm操作是字节码线程安全问题----原子性问题–操作中资源保持一致,一旦执行,对资源的操作不能被其他因素中断或使用,要么不执行。初级问题:如何解决i++这个多线程问题?方法:加锁、使用Atomic原子类(AtomicInteger、AtomicLong),如:AtomicInteger i=new AtomicInteger(0)//i=0;中级问题:为什么选择atomic而不是锁?因为atomic比锁快。锁为什么慢?因为操作系统中CPU调度 时间片的概念,如果

2020-05-12 23:59:50 98

原创 通过快慢指针寻找环链表入口(java)

快慢指针可以判断出链表是否为环链表,网上此类文章比较多,可以查阅相关实现,同时快慢指针也能找出环链表的入口。上图是一个环链表,当快慢指针(快指针步长没有限制,慢指针为1)相遇时,我们可以判断到列表中有环,这时重新设定一个新指针指向链表的起点,且步长与慢指针一样为1,则慢指针与“新指针”相遇的地方就是环的入口,证明这一结论涉及数论知识,感兴趣的可以查阅相关资料。public class FastSlowTest { public static void main(String[] args) {

2020-05-12 13:21:21 422

原创 java中LinkedList的实现

java中LinkList集合也是使用双向链表实现,并提供了增删改查等操作1、底层使用了双向链表源码中add()方法调用了linkLast()方法,它将新节点放在之前的last后面,并变成新的last,不过要注意,它有一个属性first,不是我们平常定义的头结点(head),而是head的下一个结点,是会存储数据的void linkLast(E e) { final Node<E> l = last; final Node<E> newNode

2020-05-12 10:26:23 137

原创 java中ArrayList的实现

java中ArrayList集合的底层也是一种顺序表,使用数组实现,同样提供了增删改查和扩容操作1、使用数组实现ArrayList的add()方法中:elementData[size++]=e,从这也可以看出ArrayList是线程不安全的。2、具有扩容操作每次使用add方法时,根据一定算法,计算出新的大小,然后调用copyof函数进行扩容。3、遍历的方法通过内部类Itr重写Iterator接口的hasnext()和next(),从而提高遍历方式。...

2020-05-12 10:00:45 171

原创 Android与服务器通信的注意点

Android在与服务器通信,发送或接收数据时,需要另开一个子线程进行操作,如:new Thread(new Runnable() { @Override public void run() { //逻辑函数,如与服务器连接后的一系列操作:useHttpUrlConn_getAll(); }}).start();...

2019-11-12 16:46:05 109

提示
确定要删除当前文章?
取消 删除