leetcode–877: Stone Game

Alex and Lee play a game with piles of stones. There are an even number of piles arranged in a row, and each pile has a positive integer number of stones piles[i]. The objective of the game is to end with the most stones. The total number of stones is odd, so there are no…

leetcode–807: 保持城市天际线

在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 0 也被认为是建筑物。 最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天际线是从远处观看时,由所有建筑物形成的矩形的外部轮廓。 请看下面的例子。 建筑物高度可以增加的最大总和是多少? 例子: 输入: grid = [[3,0,8,4],[2,4,5,7],[9,2,6,3],[0,3,1,0]] 输出: 35 解释: The grid is: [ [3, 0, 8, 4], [2, 4, 5, 7], [9, 2, 6, 3], [0, 3, 1, 0] ] 从数组竖直方向(即顶部,底部)看“天际线”是:[9, 4, 8, 7] 从水平水平方向(即左侧,右侧)看“天际线”是:[8, 7, 9, 3] 在不影响天际线的情况下对建筑物进行增高后,新数组如下: gridNew = [ [8, 4, 8, 7], [7,…

Leetcode –771: 宝石与石头

给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此”a”和”A”是不同类型的石头。 示例 1: 输入: J = “aA”, S = “aAAbbbb” 输出: 3 示例 2: 输入: J = “z”, S = “ZZ” 输出: 0 注意: S 和 J 最多含有50个字母。 J 中的字符不重复。 解题思路: – 对于每个石头,循环检测是否是宝石 代码: class Solution(object): def numJewelsInStones(self, J, S): “”” :type J: str :type S: str…

每周点评之第二期:如何提高代码质量

如何提高代码质量?–陈天 这篇文章分别从 产品,接口,指标,日志,代码清晰度,代码复杂度 等方面,谈到如何提高代码质量。 总结起来: 1.产品和接口: 要使得原理和接口上容易理解,并且隐藏细节。 90% 以上的情况,程序员是在写 parser。换句话说,我们写的绝大部分代码就是把一系列的输入,经过若干转换(transformation),变成一系列输出。 2.指标和日志 If you can’t measure it ,you can’t improve it. 通过测量来形成负反馈,提高系统质量 3.代码清晰度和代码复杂度 多学习一些小技巧,实现对语言掌握的精进,让代码更易读,更清晰。

ROS kinetc + Xbox 360 无线手柄 使用

安装手柄接收器驱动 sudo apt-add-repository ppa:rael-gc/ubuntu-xboxdrv sudo apt-get update && sudo apt-get install ubuntu-xboxdrv 配对手柄和接收器 1.将接收器接入电脑USB 2.测试手柄 ls /dev/input/js* 如果驱动安装成功,则会显示: /dev/input/js0 /dev/input/js1 /dev/input/js2 /dev/input/js3 /dev/input/js4 因为只是接了一个设备,所以下面我们使用/dev/input/js0 测试 按手柄上的小圆球启动电源,然后长按无线启动开关,并按接收器上的按钮,等待手柄和接收器配对成功,成功后手柄上的小圆球就不会闪烁了。 sudo jstest /dev/input/js0 出现下面信息: Driver version is 2.1.0. Joystick (Xbox 360 Wireless Receiver) has 4 axes (X, Y, Rx, Ry) and 17 buttons (BtnX, BtnY, BtnTL, BtnTR, BtnTR2, BtnSelect,…