总结了几篇文章,先给外链
A Look at Length Units in CSS
CSS Font-Sizing: a Definitive Guide
从网易与淘宝的font-size思考前端设计稿与工作流
继续阅读 »
在学习排序算法的时候,经常要用到随机数组,于是就写了一个生成随机数组的方法。算法来自网络,只是修改成了 JavaScript 版本。
基本原理是洗牌算法,首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,直到最后一个元素。这样能确保每个元素在每个位置的概率都是1/n。
具体代码如下:
javascript
/**
*
* 生成从 1 到 length 之间的随机数组
*
* @length 随机数组的长度,如果未传递该参数,那么 length 为默认值 9
*
*/
function randomArray(length) {
var i,
inde
继续阅读 »
题目描述
给定一个已排序的数组,去除数组中的重复元素,只保留一个重复的元素,并且返回新的数组长度。
要求:
不要给数组分配额外的空间,你必须使用常量的内存大小进行原地操作。
例如:
给出数组A=[1,1,2],你的函数调用之后必须返回长度length=2,并且A现在变成[1,2]。
输入
一个已排序的数组,例如[1,1,2]。
输出
返回数组新的长度,例如length=2。
快慢指针法
设置fast指针遍历数组,slow指针指向不重复元素的下一位。
more
java
public static int removeDuplicates(int[] nums)
{
if (nums.length < 1)
继续阅读 »
2018.4.3 19:00 ~ 2018.4.3 21:00
求回文子字符串数量
```python
import sys
def check(s):
length=len(s)
for i in range(length):
if s[i]!=s[length-1-i]:
return 0
return 1
s=sys.stdin.readline().strip()
res=0
try:
for i in range(len(s)):
for j in range(i+1,len(s)+1):
if check(
继续阅读 »
本文翻译自老马(Martin Fowler)的博客文章,该译文现已被博客原文收录在其下方中文翻译处。
在我的职业生涯期间,我曾听过很多关于一个方法(或者说函数,本文针对两者将不做区分)应当有多长的争论。这其实引申到另一个更加重要的问题上:我们应该在什么时候把代码封装在它自己的方法内?有些准则会基于方法的长度,比如方法的长度不应该超出屏幕可以容纳的范围❶。有些会基于复用,即任何被使用超过两次的代码都应该抽出自己单独的方法,而只在一个地方使用过的代码就应当保留在行内。然而,于我而言,最合乎情理的还是这种论点:那就是意图和实现的分离。如果你不得不费点精力查看一段代码,才能弄清楚它具体做了什么,那你就需要把它抽出成一个方法,并且用“它
继续阅读 »
本章是该书的第五章, 主要讲了方法引用和收集器
方法引用
形如:
java
artist -> artist.getName()
(String arg) -> arg.length()
这样的表达式, 可以简写为:
继续阅读 »
基本问题
如何删除单链表中的倒数第n个节点?
常规解法
先遍历一遍单链表,计算出单链表的长度,然后,从单链表头部删除指定的节点。
more
代码实现
``` java
/** 删除单链表倒数第n个节点,常规解法.
*
* @param head
* @param n
* @return ListNode
*/
public static ListNode removeNthFromEnd(ListNode head, int n) {
if(head == null) {
return null ;
}
//get length of list
ListNode p
继续阅读 »
向量的归一化
从起始点A到目标点B的路径上的碰撞检测
常见的一个应用场景:游戏技能里有玩家冲一个地方闪现到另外一个指定点,中间不能有阻挡物, 否则就停在阻挡物那里。
在几何空间中, A每次移动一个单位长度dir,逐步靠近B,就是A每次增加一个unit vector
归一化:即将一个向量, 使它的模(length)等于1,并且方向不变, normalize后的向量dir, 就是一个单位向量了
用做在空间中,向量往前增加一个单位长度, 即 += dir
继续阅读 »
链接:Link 耗时: 0.012s
前言
真是疯玩了几天,脑袋都残了,一道弱智题做了近一个小时。
Code
var
pre, mid, s: string;
tree: array [1..50] of record
l, r: integer;
ch: char;
end;
cur: integer;
function init: integer;
var
m: integer;
begin
readln(s);
m := length(s) >> 1 + 1;
pre := Copy(s, 1, m-1);
mid
继续阅读 »
New features
Add wait multi-processes interface
Add uuid generator
Add hash library module
Add __tb_deprecated__ keyword and option
Changes
Move some utils interfaces to the hash module
Rewrite random generator
Bugs fixed
Fix stdout compatibility issue for vs2015
Fix process arguments length limit
继续阅读 »