Skip to content

Instantly share code, notes, and snippets.

@ruandao
ruandao / simulated annealing
Last active August 29, 2015 13:56
模拟退火 想用来解决 文明盛世的超能饮料问题,不过 效率跟遍历没差 (看来只合适用来找近似最优解)
#!/usr/bin/python
# encoding:utf-8
import sys
import heapq
import math,random
import time
# 1 获取一个随机解
# 2 从上一个解中获取一个随机解
# 新解为最优时,选定新解;否则按概率在解与新解中选择
def annealing(sa, newF, T=10000.0, cool=0.95):
@ruandao
ruandao / gist:9228418
Last active August 29, 2015 13:56
简历,一直以来,每次碰到写简历问题,总是死的很惨...
教育背景
2008/09 - 2012/07 厦门理工学院 学士
工作经历
2013/03 - 2013/10 厦门一江网络 前端工程师 + 服务器管理
专业及语言技能
熟悉linux服务器的管理使用 如 vim, bash, crontab 等(四年的ubuntu操作经验, 从大二开始使用ubuntu作为桌面系统)
掌握的语言包括 python, golang, nodejs, objective-c
对数据结构和算法,有过专门的训练学习
@ruandao
ruandao / 暴力.py
Created February 28, 2014 05:17
超能饮料,暴力破解
#!/usr/bin/python
# encoding:utf-8
"""
一个点过的所有环里面有很多点集是重复的,只需要保留最小的那个
譬如C1C2C3C1, C1C3C2C1 这两个环是不同的,点集却是相同的,当然造价一般是不同的,那么只需要保留造价最低的一个就可以了
找出所有的过某一点的所有环,数据存储格式如下:
d = {
“C1”: [],
@ruandao
ruandao / gist:9344266
Created March 4, 2014 10:54
超能饮料~~暂时告一段路吧
#!/usr/bin/python
# encoding:utf-8
"""
题目: http://www.wmsstech.com/puzzles_view_chemical.html
本解法是,取一个最小环,然后不断的往里面加点
当加点时,尝试该点的所有入度出度的组合
当尝试某个组合时,譬如 加入点k, 使用的组合是 x->k, k->y
那么找到x的出度,尝试将他转移到k,y,以及y的可达点,看能否获得一个更好的组合
然后找到y的入度,尝试转移到k,x以及x的来路上,看能否获得一个更好的组合
@ruandao
ruandao / ios
Last active January 22, 2016 09:56
用来处理 uitextview 编辑时,键盘挡住输入框的, 这个会将整个frame 上移
// 注意,如果输入的是汉字的话,输入拼音后,会出现新的一行,让你选择拼音所对应的汉字,这个也会触发UIKeyboardWillShowNotification
// 所以,你要加个变量,来判断键盘是否消失,没消失的话就不在上移界面
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
@ruandao
ruandao / ios
Last active August 29, 2015 13:57
让textview 失去焦点, 处理方法是, 当点击空白地方的时候(tap事件),让keyboard 消失
// 然后鉴于,一个页面里面可能有多个输入源, so 遍历下面
for (UIView *view in self.view.subviews) {
if ([view isFirstResponder]){
[view resignFirstResponder];
return;
}
}
@ruandao
ruandao / gist:9460336
Created March 10, 2014 06:23
UiActionView 的 cancelButton 在 tabbarController 下不工作的处理 (点击没有反应)
参见这个http://stackoverflow.com/questions/8550579/uiactionsheet-cancel-button-not-dismissing-actionsheet
说是最下面的属于被tab bar controller 劫持的部分,so 你需要从tab bar 上显示 action sheet
嗯,测试了下
[sheet showFromTabBar:[[self tabBarController] tabBar] ];
或者
[sheet showInView:[[self tabBarController] tabBar] ];
都可以解决问题
@ruandao
ruandao / gist:10577718
Last active January 10, 2017 06:32
幻方-n为奇数-带python 源码
#!/usr/bin/python
# encoding:utf-8
"""
幻方类型:N为奇数
构造方法:
1. 先画一个n×n方格表,
则横向方向的坐标索引x为(0,1,2,3,...,n-2,n-1),
纵向方向的坐标索引y为(0,1,2,3,...,n-2,n-1);
@interface UILabel (dynamicSizeMe)
-(float)resizeToFit;
-(float)expectedHeight;
@end
@ruandao
ruandao / QRScannerViewController.h
Created June 7, 2014 09:12
二维码扫描 iOS7 && iOS 7 以上
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@protocol QRScannerViewControllerDelegate <NSObject>
- (void) catch:(NSString*)content;
@end
@interface QRScannerViewController : UIViewController
@property (assign, nonatomic) id<QRScannerViewControllerDelegate> delegate;