Android 进阶 - Canvas 高级绘制
Canvas 是 Android 系统提供的较为底层的绘图 API,常用于自定义 View,在 Wear OS 中更是表盘绘制的必备。Canvas 提供了 drawXXX() 系列方法,配合画笔属性可以画出诸多图形,这些 API 命名清晰,基本可以顾名思义。 既然标题叫「高级绘制」,对于那些比较基本
LeetCode222 完全二叉树节点数
题目 传送门 According to Wikipedia, every level, except possibly the last, is completely filled in a complete binary tree, and all nodes in the last level
OkHttp 源码初探
本文使用 okhttp:4.4.1 发出请求 我们从 Call.enqueue 开始研究源码,宏观上了解一下 okhttp 如何把请求发出去。 轻松发现对于异步请求,统一转换成了 AsyncCall 交给 Dispatcher 来执行。Dispatcher 会控制最大并发数与针对某一 host 的最
HTTP 基础/连接/授权
基础 请求方法 请求方法 Body 幂等 GET 获取资源 Y POST 增加或修改资源 Y PUT 修改资源 Y Y DELETE 删除资源 Y HEAD 同 GET;响应报文没有 Body 响应报文也没有 Y 状态码
LeetCode N数之和
1-两数之和 梦开始的地方 (LeetCode 第一题) 传送门 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to tar
LeetCode239 窗口最大值
题目 传送门 You are given an array of integers nums, there is a sliding window of size k which is moving from the very left of the array to the very right.
LeetCode209/904/76 - 滑动窗口
总结 滑动窗口是数组题目中常见的算法。通常可以把 O(n^2) 的复杂度变成 O(n)。滑动窗口适合「在数组中求一个连续的子数组」之类的题目。 要使用滑动窗口,需要考虑三个条件: 窗口内是什么? 一般要保证窗口内是满足题意的子数组(首次达成题意之前除外)。 窗口结束位置何时移动? 有两个情形需要扩大
LeetCode 二分查找
基础 - 704 二分查找 传送门 Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums
LeetCode42 对撞指针的运用
引例 - 装水容器 还是从一道相对简单的问题入手:LeetCode11 - Container With Most Water 问题概要: 给一个数组,代表一系列墙壁的高度。要求选出两个墙壁,使它们能够储存最多的水。并且: 忽略墙壁的厚度 忽略选定的墙壁之间的墙壁 暴力解法 可以轻松想出一个暴力解法
火山中文开发-吃了时代红利的流氓生产器
立场声明 这篇文章酝酿了许久,本来不想写得这么愤青,但最近看到的一些言论实在忍无可忍。所以,我承认,本文的用词比较极端,打击面有点宽,逻辑也有点乱,不喜欢就关闭不送。 这里只从开发者与用户角度谈技术与产品,不要搁这讲政治与民族。 请不要评论诸如「你行你来」的话,难道批评一个东西之前必须得先做出代替品