<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Vincent_Wilk的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Vincent_Wilk</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Vincent_Wilk]]></copyright><item><title><![CDATA[不使用代理无法上网]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/108976097</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/108976097</guid><author>Vincent_Wilk</author><pubDate>Fri, 09 Oct 2020 11:51:09 +0800</pubDate><description><![CDATA[背景：使用代理，没有关闭代理就关机，重启电脑后无法直接联网，需要开启代理才可正常联网


解决：打开控制面板——&gt;网络和Internet——&gt;Internet选项——&gt;连接——&gt;局域网设置，关闭“为LAN使用代理服务器”




...]]></description><category></category></item><item><title><![CDATA[微信开发平台签名工具 NameNotFoundException signs is null]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/108822523</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/108822523</guid><author>Vincent_Wilk</author><pubDate>Sun, 27 Sep 2020 10:24:16 +0800</pubDate><description><![CDATA[在微信开发平台创建应用时，有一步是要填写应用签名，需要使用到微信签名生成工具，使用过程中出现NameNotFoundException异常,记录一下出现这种情况的原因和解决办法：

 1. 填写的包名与app的build.gradle的applicationId不一样，修正过来就可以了；
 2. 当前安装签名生成工具apk的设备获取不到包名，更换一个可以获取签名的设备即可。


...]]></description><category></category></item><item><title><![CDATA[红黑树简述]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/107988141</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/107988141</guid><author>Vincent_Wilk</author><pubDate>Thu, 13 Aug 2020 19:27:33 +0800</pubDate><description><![CDATA[声明：仅用于快速记忆，可能对于没了解过红黑树的同学不太友好
规则

每个节点非红即黑（废话~）
根节点都是黑色的
新插入的节点都为红色节点

插入黑色节点会违背黑色高度规则；
插入红色节点有一半的机会会违背连续红色节点规则，但是可以通过自平衡修补


从根节点到所有的叶子节点的路径会经过相同数量的黑色节点（黑色高度）
不可能有连续的红色节点
所有的空节点都是黑色的


自平衡


左旋：以某个结点作为支点(旋转结点)，其右子结点变为旋转结点的父结点，右子结点的左子结点变为旋转结点的右子结点，左子结点保持不变]]></description><category></category></item><item><title><![CDATA[Java同步工具]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/106695017</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/106695017</guid><author>Vincent_Wilk</author><pubDate>Thu, 11 Jun 2020 19:44:45 +0800</pubDate><description><![CDATA[1、Semaphore（信号量）

信号量为一个资源维护访问许可的线程数量，即同一时间只许限定数量线程可以访问该资源。
如果达到允许的最大允许值，那么线程将不得不等待直到其他拥有许可的线程释放它。
可以简单理解为一个停车场只有若干个停车位，一开始里面都没有车停放，后面慢慢有车进去停放直到所有车位都被占用，这时后面的车辆要等到里面停放的车开走才能进去停车场停放。

应用场景：流量控制，例如数据库的连接数
public class vSamephore {

    private static int MAX]]></description><category></category></item><item><title><![CDATA[7. Reverse Integer]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/106015691</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/106015691</guid><author>Vincent_Wilk</author><pubDate>Sat, 09 May 2020 11:41:40 +0800</pubDate><description><![CDATA[Given a 32-bit signed integer, reverse digits of an integer.
Example 1:

Input: 123 Output: 321

Example 2:

Input: -123 Output: -321

Example 3:

Input: 120 Output: 21

Note:

Assume we are dealing with an environment which could only store
integers withi]]></description><category></category></item><item><title><![CDATA[Activity重启需要注意的一点]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/105253256</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/105253256</guid><author>Vincent_Wilk</author><pubDate>Wed, 01 Apr 2020 19:32:38 +0800</pubDate><description><![CDATA[最近项目重启Activity的需求（就是相当于reload）,一般的做法就是这样的：
 Intent intent = getIntent();
 overridePendingTransition(0, 0);
 intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
 finish();

 overridePendingTransition(0...]]></description><category></category></item><item><title><![CDATA[H5 input框添加小图标]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/104967043</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/104967043</guid><author>Vincent_Wilk</author><pubDate>Thu, 19 Mar 2020 14:34:59 +0800</pubDate><description><![CDATA[参考
一般的做法是直接在input框使用background: url(‘图片路径’)，但是我自己折腾了一翻发现这个不是那么靠谱，后来看到这句话：

Advice: stop using and supporting IE 8

发现用相对位置可以完成需求，比如说这个：
#input_container {
    position:relative;
    padding:0 0 0 20px...]]></description><category></category></item><item><title><![CDATA[解决低版本浏览器不支持object.assign()问题]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/104758356</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/104758356</guid><author>Vincent_Wilk</author><pubDate>Mon, 09 Mar 2020 18:39:33 +0800</pubDate><description><![CDATA[最近新写的APP页面加入了bscroll.min.js插件文件，里面使用到了object.assign()，该方法ES6中合并对象用的。在比较新的手机上滑动页面没问题，但在较低版本的手机时滑动却没反应，查看日志发现有这么一句话：object.assign()
is not a function.才发现低版本浏览器不兼容问题。

解决办法
在使用有object.assign()的代码块/插件文件前...]]></description><category></category></item><item><title><![CDATA[Android沉浸式状态栏]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/103778626</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/103778626</guid><author>Vincent_Wilk</author><pubDate>Tue, 31 Dec 2019 10:32:03 +0800</pubDate><description><![CDATA[关于沉浸式状态栏的种种就不多详谈了，稍微Google一下一大片，这里添几句代码实现：
主活动onCreate()：
if(Build.VERSION.SDK_INT&gt;=Build.VERSION_CODES.KITKAT)
 {
	getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
 }

在相应...]]></description><category></category></item><item><title><![CDATA[Android虚拟按键遮挡布局]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/103778483</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/103778483</guid><author>Vincent_Wilk</author><pubDate>Tue, 31 Dec 2019 10:26:45 +0800</pubDate><description><![CDATA[最近把Android应用的一些组件替换掉，发现虚拟按键会遮挡布局。查了一下，发现是页面布局的可用高度不是视图的实际高度，只需要把页面布局的高度重新设置即可。
原文：Android虚拟按键遮挡布局【完美解决方案】
/**
 * Created by : vince
 * Created at : 2019/12/20
 * Desc : 解决虚拟按键遮挡页面布局问题
 * Usage : 在需要重新...]]></description><category></category></item><item><title><![CDATA[H5页面引入MUI后单选框radio只能点击一个]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/102685221</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/102685221</guid><author>Vincent_Wilk</author><pubDate>Thu, 24 Oct 2019 09:42:11 +0800</pubDate><description><![CDATA[APP的H5页面需要引入MUI，但是在引入之后发现自己原来写的单选框样式有问题：不论点击那个框，都是只能选中第一个。
后来搜了一个，发现有一个解决办法，就是在引入MUI的js文件之前加上 “”，这样就恢复了。
具体的原因还不清楚，先码


...]]></description><category></category></item><item><title><![CDATA[HybridAPP接入支付宝APP支付（Android端）]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/102658318</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/102658318</guid><author>Vincent_Wilk</author><pubDate>Mon, 21 Oct 2019 13:25:54 +0800</pubDate><description><![CDATA[前段时间项目需要接入支付宝支付，这份任务被分配到我来完成，折腾了好几天（主要是因为我菜），现在有时间来记录一下整个过程。
整个工作分为以下几步。

一. 登录并创建应用
首先到支付宝开放平台登录要接通支付的支付宝账号,登录之后看到如下页面

点击"网页&amp;移动应用"进行应用创建,创建完成之后到我的应用查看你新创建的应用,会看到应用的唯一编号(APPID)
二. 配置你的应用
１．　为你的应用...]]></description><category></category></item><item><title><![CDATA[CoolWeather地区无法加载]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/97626564</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/97626564</guid><author>Vincent_Wilk</author><pubDate>Mon, 29 Jul 2019 10:44:21 +0800</pubDate><description><![CDATA[新入Android，在做郭老师第一行代码天气预报开发的时候，在中国的页面就是显示加载失败，省份加载不出来
日志没有异常，查看了API  http://guolin.tech/api/china 也还能用，修改了SDK版本也没有效果，最后查到了这个：
从Android 6.0开始引入了对Https的推荐支持，而到了Android 9.0的系统上面默认所有Http的请求都无法响应
最直接的解决办法就是...]]></description><category></category></item><item><title><![CDATA[832. 翻转图像]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/91364474</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/91364474</guid><author>Vincent_Wilk</author><pubDate>Mon, 10 Jun 2019 11:06:18 +0800</pubDate><description><![CDATA[给定一个二进制矩阵 A，我们想先水平翻转图像，然后反转图像并返回结果。
水平翻转图片就是将图片的每一行都进行翻转，即逆序。例如，水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。
反转图片的意思是图片中的 0 全部被 1 替换， 1 全部被 0 替换。例如，反转 [0, 1, 1] 的结果是 [1, 0, 0]。
示例 1:
输入: [[1,1,0],[1,0,1],[0,0,0]]
输...]]></description><category></category></item><item><title><![CDATA[830. 较大分组的位置]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/91310359</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/91310359</guid><author>Vincent_Wilk</author><pubDate>Sat, 08 Jun 2019 10:52:48 +0800</pubDate><description><![CDATA[在一个由小写字母构成的字符串 S 中，包含由一些连续的相同字符所构成的分组。
例如，在字符串 S = “abbxxxxzyy” 中，就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。
我们称所有包含大于或等于三个连续字符的分组为较大分组。找到每一个较大分组的起始和终止位置。
最终结果按照字典顺序输出。
示例 1:
输入: "abbxxxxzzy"
输出: [[3,...]]></description><category></category></item><item><title><![CDATA[766. 托普利茨矩阵]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/91041611</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/91041611</guid><author>Vincent_Wilk</author><pubDate>Thu, 06 Jun 2019 11:40:56 +0800</pubDate><description><![CDATA[如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素，那么这个矩阵是托普利茨矩阵。
给定一个 M x N 的矩阵，当且仅当它是托普利茨矩阵时返回 True。
示例 1:
输入: 
matrix = [
  [1,2,3,4],
  [5,1,2,3],
  [9,5,1,2]
]
输出: True
解释:
在上述矩阵中, 其对角线为:
"[9]", "[5, 5]", "[1, 1, 1]",...]]></description><category></category></item><item><title><![CDATA[747. 至少是其他数字两倍的最大数]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/90899296</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/90899296</guid><author>Vincent_Wilk</author><pubDate>Wed, 05 Jun 2019 11:18:12 +0800</pubDate><description><![CDATA[在一个给定的数组nums中，总是存在一个最大元素 。
查找数组中的最大元素是否至少是数组中每个其他数字的两倍。
如果是，则返回最大元素的索引，否则返回-1。
示例 1:
输入: nums = [3, 6, 1, 0]
输出: 1
解释: 6是最大的整数, 对于数组中的其他整数,
6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.

示例 2:
输入: nums = [1, 2, 3, 4...]]></description><category></category></item><item><title><![CDATA[746.使用最小花费爬楼梯]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/90766101</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/90766101</guid><author>Vincent_Wilk</author><pubDate>Tue, 04 Jun 2019 11:38:48 +0800</pubDate><description><![CDATA[数组的每个索引做为一个阶梯，第 i个阶梯对应着一个非负数的体力花费值 cost[i] (索引从0开始)。
每当你爬上一个阶梯你都要花费对应的体力花费值，然后你可以选择继续爬一个阶梯或者爬两个阶梯。
您需要找到达到楼层顶部的最低花费。在开始时，你可以选择从索引为 0 或 1 的元素作为初始阶梯。
示例 1:
输入: cost = [10, 15, 20]
输出: 15
解释: 最低花费是从cost[...]]></description><category></category></item><item><title><![CDATA[724. 寻找数组的中心索引]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/90750153</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/90750153</guid><author>Vincent_Wilk</author><pubDate>Mon, 03 Jun 2019 12:33:58 +0800</pubDate><description><![CDATA[给定一个整数类型的数组 nums，请编写一个能够返回数组“中心索引”的方法。
我们是这样定义数组中心索引的：数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。
如果数组不存在中心索引，那么我们应该返回 -1。如果数组有多个中心索引，那么我们应该返回最靠近左边的那一个。
示例 1:
输入: 
nums = [1, 7, 3, 6, 5, 6]
输出: 3
解释: 
索引3 (nums[3]...]]></description><category></category></item><item><title><![CDATA[717. 1比特与2比特字符]]></title><link>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/90749183</link><guid>https://blog.youkuaiyun.com/Vincent_Wilk/article/details/90749183</guid><author>Vincent_Wilk</author><pubDate>Mon, 03 Jun 2019 11:17:50 +0800</pubDate><description><![CDATA[有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。
现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。
示例 1:
输入: 
bits = [1, 0, 0]
输出: True
解释: 
唯一的编码方式是一个两比特字符和一个一比特字符。所以最后一个字符是一比特字符。

示例 2:
输入: 
bits = ...]]></description><category></category></item></channel></rss>