把需要求解的数独一一对照填入,就能快速求解,再也不用费劲心思苦苦冥想了,快来找几个题目验证一下程序吧。
点击这个按钮,嗖的一下,结果就出来了。
把需要求解的数独一一对照填入,就能快速求解,再也不用费劲心思苦苦冥想了,快来找几个题目验证一下程序吧。
点击这个按钮,嗖的一下,结果就出来了。
怎样理解“非暴力不合作”这句话? – 麻烦同学的回答 – 知乎
https://www.zhihu.com/question/20299344/answer/186126612
不合作运动(英语:Non-cooperation movement),印度文为Satyagraha,本义与真理有关,又译为非暴力不合作运动,1920—1922年和1930—1934年发生于英属印度全国范围。律师出身的圣雄甘地于1920年9月4日发起了不合作运动,这是世界历史上第一个全国性的非暴力反抗运动。
看文字还以为是得暴da我一顿,才能和你合作的求虐心态呢。
如果想实现一个数独小游戏,可以先了解舞蹈链这个数据结构,还是很有意思的。我不准备再具体讲解 dance link 是什么,因为很难比其它文章写的更好,只提供一个 JavaScript 的实现在下面,如果你感兴趣的话,可以查阅,有问题可以留言讨论。
Continue reading “舞蹈链 – JavaScript 实现”先来看一个现象,解释一下为何两者的圆角效果是一致的。
css 的代码如下:
.e1 {
border-radius: 100% 100% 0 0 / 100% 0 0 0;
}
.e2 {
border-radius: 50% 0 0 0 / 50% 0 0 0;
}
e2 好理解,水平和垂直的圆角都是 50px;但是 e1 怎么理解呢?这里就涉及到了当圆角半径超出盒宽高的计算公式了。
Continue reading “border-radius 的值超过宽高的计算公式”一般来说,不想怎么写题解,因为不能穷尽所有的解法。解这个题过程中,有些有意思的地方,顺便就记录一下。原题在这里,我直接写答案了。
简单的直觉,就是广度优先遍历。拿到每层的节点,保持在数组里,再求出最大的值。
var largestValues = function(root) {
let arr = []
if(!root) return arr
let stack = [root]
while(stack.length) {
let temp = []
let max = -Infinity
while(stack.length) {
let node = stack.pop()
let v = node.val
max = Math.max(v, max)
node.left && temp.push(node.left)
node.right && temp.push(node.right)
}
arr.push(max)
stack = temp
}
return arr
};
提交后,速度挺慢的,怎么回事呢?先把节点放入,再拿出来,相当于把整个树遍历了 2 次。
Continue reading “leetcode 515 题解”一直知道的概念是按照比例来计算,今天,朋友问起,仔细验证了一下具体的公式。比如我们先看下面的例子。
<div style="display:flex; width:100px;height:100px">
<div style="width:10px;flex-grow: 5; background:red;"></div>
<div style="width:40px;flex-grow: 2; background:blue;"></div>
<div style="width:30px;flex-grow: 1; background:pink;"></div>
</div>
父元素的宽度是 100px,3 个子元素的宽度是 10、40、30,加起来是 80px,那么还需要剩下 20px 需要填充。每个子元素能分得多少呢?以第一个子元素为例。
5 / (5 + 2 + 1) * 20 + 10 = 22.5。第一个子元素占比 8 分之 5,乘以 20px,再加上原来的 10px,就是 22.5px。可以审查一下元素,验证我们的想法。
<div style="display:flex; width:60px;height:100px">
<div style="width:10px;flex-shrink: 5; background:red;"></div>
<div style="width:40px;flex-shrink: 2; background:blue;"></div>
<div style="width:30px;flex-shrink: 1; background:pink;"></div>
</div>
再看 flex-shrink。父级元素的宽度是 60px,子元素分别是 10、40、30px,加起来是 80px,那需要收缩 20px。怎么计算第一个子元素的宽度呢?如下:
10 – 5 * 10 / (10 * 5 + 40 * 2 + 30 * 1) * 20,意思是,原来子元素的宽度是 10px,它需要收缩的像素是用自身的宽度,乘以 shrink 这个权重值,再除以整个子元素的宽度乘以 shrink 权重值之和,再乘以整个收缩的 20px。
再审查元素,验证一下结果,也是对的。
我们发现了一点,grow 和 shrink 的计算方式不同,为什么呢?我觉得有 2 点。
以上,感谢阅读。
See the Pen flex-shrink by zeng (@zengxiaoluan) on CodePen.
在 mac 下的 chrome 当你按下 command
+ +
的时候会放大网页,这时 devicePixelRatio
会发生变化,默认情况下这个值为 1,当网页放大到 250% 时,这个值会变成 2.5。我们在 canvas 画图写字,就要处理 devicePixelRatio
这个变量的改变,这和高清屏是一样的道理。
下面是一个例子,如论你的 devicePixelRatio
是多少,文字和图片都可以正常显示。可以通过缩放网页,来修改此值。