すべての出会いが美しいとは限らない。すべての別れが悲しいとは言えない。

0%

背景

随着智能化手机的普及,越来越多的用户开始使用手机终端来进行网页浏览。为了在电脑和手机端都能达到理想的效果,并尽可能的减少工作量,Rails 4.1 开始追加了 variant,帮助网站开发人员能够使用不同模板来对应不同终端的需求。

Read more »

Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。

Read more »

你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?

Read more »

如果你有两枚鸡蛋,同时,你想知道,从楼上将鸡蛋摔下而不让它碎掉的楼层极限是多少,你会怎么做?

Read more »

You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be the winner. You will take the first turn to remove the stones.

Both of you are very clever and have optimal strategies for the game. Write a function to determine whether you can win the game given the number of stones in the heap.

For example, if there are 4 stones in the heap, then you will never win the game: no matter 1, 2, or 3 stones you remove, the last stone will always be removed by your friend.

Read more »

ActiveRecord::Base serialize

Rails 中通过使用 serialize 直接将对象转化为字符串保存在数据库中。

1
2
3
class User < ActiveRecord::Base
serialize :group_ids
end

通过以上的方式,User#group_ids 被字符串化并保存,并不需要其他多余的处理。

1
2
> User.create(name: 'Aclice', group_ids: [1, 2, 3])
> User.save
Read more »

Given a string like “a + b”, return the value of the string with the regulation we defined.

For Exmaple:

“a + b” => “ab”
“abc - 1” => “ab”
“a^3” => “aaa”
“(a + b)^3” => “ababab”

Read more »

Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.

Note:
Elements in a quadruplet (a,b,c,d) must be in non-descending order. (ie, a ≤ b ≤ c ≤ d)
The solution set must not contain duplicate quadruplets.
For example, given array S = {1 0 -1 0 -2 2}, and target = 0.

A solution set is:
(-1, 0, 0, 1)
(-2, -1, 1, 2)
(-2, 0, 0, 2)

Read more »

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution.

Example:
Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
UPDATE (2016/2/13):
The return format had been changed to zero-based indices. Please read the above updated description carefully.

Read more »