要有自己的观点和判断
不要把自己的希望当观点
不要盲从别人的观点,你盲从的人有判断力吗,有目的吗,见识高吗,比你更跟的上时代吗,有的人连出租车司机的忽悠也当真
难道你想问理发师你需要理发吗
----------------------------------------------------
另
推荐一个财经类的好网站 http://www.create.hk/
不要把自己的希望当观点
不要盲从别人的观点,你盲从的人有判断力吗,有目的吗,见识高吗,比你更跟的上时代吗,有的人连出租车司机的忽悠也当真
难道你想问理发师你需要理发吗
----------------------------------------------------
另
推荐一个财经类的好网站 http://www.create.hk/
找出字符串中最长连续重复字符串,重复次数一样情况下,重复单元长的优先,重复单元长度一样情况下排在前面的优先,举例如下
null->null
“” -> ""
ab -> ab
aab -> a
aabbbc->b
aabbc->a
aa1212bc->12
我的代码如下,有点抽象哦
主函数入口 public string FindMostContinuouslyRepeatedString(string s)
using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using PuzzleInterface;
namespace PuzzleSolution
{
class CharPosInfo
{
public LinkedList
public LinkedListNode
public CharPosInfo()
{
PosList = new LinkedList
CurBegNode = null; ;
}
};
class CharPosTable
{
public CharPosInfo[] table;
public int Count;
public CharPosTable(string s)
{
table = new CharPosInfo[256];
Count = s.Length;
for (int i = 0; i < 256; i++)
{
table[(char)i] = new CharPosInfo();
}
char curCh;
for (int i = 0; i < Count; i++)
{
curCh = s[i];
table[curCh].PosList.AddLast(i);
}
for (int i = 0; i < 256; i++)
{
table[(char)i].CurBegNode = table[(char)i].PosList.First;
}
}
public void SetRepeat(string s, ref Repeat rp,int begPos)
{
int startPos; int posOver,posStart;
char ch; int v;
LinkedListNode
LinkedListNode
for (int k = 0; k < rp.ItemLen; k++)
{
startPos = rp.PosInSrc + k;
ch = s[startPos];
CharPosInfo cpInfo = table[ch];
LinkedList
node = cpInfo.CurBegNode.Next.Next;
posOver = (startPos) + rp.ItemLen * (rp.Times - 1);
posStart=startPos + rp.ItemLen;
while (node != null)
{
v = node.Value;
if (v >= posOver)
{
break;
}
{
if ( v<= begPos )
{
cpInfo.CurBegNode = node;
}
if (v <= posStart)
{
node = node.Next;
continue;
}
rmNode = node;
node = node.Next;
tList.Remove(rmNode);
}
};
}
}
public int FindNextCharPos(char c, ref LinkedListNode
{
while (true)
{
if (cNode.Next != null)
{
if (cNode.Next.Value <= curPos)
{
cNode = cNode.Next;
continue;
}
if (curPos >leastPos)
{
return -2;
}
return cNode.Next.Value;
}
else
{
cNode = cNode.Next;
return -1;
}
}
}
}
public struct Repeat
{
public int Times;
public int ItemLen;
public int PosInSrc;
public void Clear(){
Times = 0;
ItemLen = 0;
PosInSrc = -1;
}
}
public class Solution : IPatternRepetition
{
public static bool StrEqual(string sA, int oA, string sB, int oB, int len)
{
for (int i=0; i < len; i++)
{
if (sA[oA + i] != sB[oB + i])
{
return false;
}
}
return true;
}
public static void GetRepeat(string s ,int sOffset, int nextOffset,ref Repeat rp)
{
// Repeat rp = new Repeat();
rp.Times = 1;
rp.ItemLen = nextOffset - sOffset;
rp.PosInSrc = sOffset;
int slen = s.Length;
int step = nextOffset;
int stepOver =slen -rp.ItemLen;
while (step <= stepOver)
{
if (StrEqual(s, sOffset, s, step, rp.ItemLen))
{
rp.Times++;
step += rp.ItemLen;
}
else
{
break;
}
}
}
public string FindMostContinuouslyRepeatedString(string s)
{
if (s == null ) return s;
CharPosTable posTable = new CharPosTable(s);
int slen = s.Length;
if (slen < 2) return s;
Repeat maxRepeat = new Repeat();
maxRepeat.ItemLen = 1; maxRepeat.PosInSrc = 0; maxRepeat.Times = 1;
char ch;
Repeat rp = new Repeat();
LinkedListNode
for (int i=0; i < slen; i++)
{
ch = s[i];
int curPos = i;
cNode = posTable.table[ch].CurBegNode;
while (cNode!=null)
{
curPos = posTable.FindNextCharPos(ch, ref cNode, curPos,
((slen - i) / maxRepeat.Times + i));
if (curPos == -2) {
break;
}
rp.Clear();
if (curPos == -1)
{
rp.Times=1;
rp.ItemLen = s.Length - i;
rp.PosInSrc = i;
}
else
{
GetRepeat(s, i, curPos, ref rp);
}
if(rp.Times>2) posTable.SetRepeat(s, ref rp,i);
if (rp.Times > maxRepeat.Times)
{
maxRepeat = rp;
continue;
}
if ((rp.Times == maxRepeat.Times) && (rp.ItemLen > maxRepeat.ItemLen))
{
maxRepeat = rp;
}
}
}
if (maxRepeat.PosInSrc >= 0)
{ // System.Console.WriteLine("Real:"+maxRepeat.Times + " " + s.Substring(maxRepeat.PosInSrc, maxRepeat.ItemLen /* maxRepeat.Times*/));
return s.Substring(maxRepeat.PosInSrc, maxRepeat.ItemLen /* maxRepeat.Times*/);
}
return null;
}
}
}
公司内部的Puzzle活动,我提交的代码(原代码速度第二,这个是事后修改了一点,比第一快乐一点)
这一期的三联生活周刊介绍说很火 中国工程师去参加苹果公司开发者大会的已经达100多了 有不少挺赚钱的
有没有朋友了解或者感兴趣的 我们可以看看能否做什么东西有机会赚钱
http://developer.apple.com/iphone/
zz http://logicwin.blog.sohu.com/71800276.html
你的下属即将跳槽的8个征兆
在目下人才竞争愈演愈烈的情况下,保留人才是每个经理人和人力资源工作者的重要职责。
如果一个对公司或部门很关键的人把辞职报告摆到你的办公桌上,你才意识到他的重要性,那已经为时太晚。
通常,一个人做出辞职的决定是要经过长时间的深思熟虑、考察和论证,一旦提交辞呈,意味着他已经与另一家公司签了Offer,这时一般人不会因为公司的挽留而动心,因为他与另一家公司已经有了契约关系。
其实一个人离开公司前的1-3个月(对于经理人可能会长达6个月)里,一定会表现出不同以往的言语或行为,如果你仔细观察,就可以发现异常动向,提前采取稳定人和留人的措施。
1、对工作的积极性和主动性突然下降(No
proactiveness and initiative)。
一个一贯积极主动的人,突然变得消极被动,对什么事情都无所谓,这是很危险的信号。当一个人决定离开的时候,已经是‘人在曹营心在汉’,因此出于职业道德的约束,会继续做好已经启动的工作,但不会做任何需要长期的承诺的事情。
2、对公司的态度骤然变化(Attitude
toward the company changes)。
原来对公司牢骚满腹、意见多多,突然变得沉默寡言,别人议论公司也不参与。当一个人对公司有抱怨有意见的时候,他暂时不会离开,因为他还对公司抱有希望,希望有所改善。但是当他已经决定离开了,他对公司的改善也就不抱希望,或者是无所谓了。
3、表现低调(Appear invisible and
indifferent)。
在各种场合,表现得比过去低调,开会不发言、讨论不讲话、有任务不主动请缨、有矛盾不卷入。为了淡出公司,他不会再主动请缨担当任何新的项目,也不会启动长期的工作项目。
4、工作纪律散漫(Become
loose)。
并非所有人会这样。但在低级岗位的员工中会见到。一个一贯遵守工作纪律的人,突然出现一些迟到、早退、上班聊
天、上网等小毛病。既然要走了,在这个公司的表现就不那么重要了。但是,职业化的经理人往往能做到善始善终,原因一是职业素养使然,二是对于经理人,可能
会有背景调查(Reference
Check),会影响他能否拿到下一家公司的聘书(Offer)。
5、休长假(Take long paid
leave)。
申请休息一两个星期以上的假期。外企由于工作紧张,很少有能够休息10天半个月而工作不受影响的情况。如果一
个岗位可以空缺那么长时间,老板就要质问(Challenge),公司是否需要这个岗位?但是对于要走的人,一方面为了个人的跳槽,如到外地考察、准备和
参加面试等,另外因担心个人的带薪假可能在离开时得不到公司补偿,因此会长时间休息。
6、经常离开办公室接打手机(Receive
mysterious phone calls)。
跟对方公司的人事部或猎头通常是通过手机联系,接到这样的电话,该员工会神秘地快速离开办公室,走到僻静的场所接听。一般是安排面试、参观公司等事项。
7、到HR询问有关年终奖金和休假的政策(Check HR
policy regarding year-end bonus)。
各公司对于年终奖和带薪假有不同规定。例如有的公司规定,发放奖金时已经离职的人无权获得奖金;遗留未用的带薪假以工资补偿;而另一些公司则规定,凡是工作到上年度12月31日的人,来年2-3月发奖时,仍有资格享受年终奖。
8、作退出的准备(Prepared to
leave)。
流水账我就不记了。
Google和开发者走的比较近也比较开放,这一点从google中国黑板报和微软亚洲研究院官方博客的风格可以看出来。
今天主要三个主题:
App Engine 云计算
地图
手机Android
OpenSocial
云计算没听,现在好像还用不着。
地图API 设计的比较好 不过接口功能不够强大,最关键的地名到坐标的问题,经纬度飘移等关键问题没有什么帮助。大部分还是看文档就能掌握的(其实还是hack mabar或者51ditu好)
OpenSocal 是一个SNS接口标准和实现shindig 方便实现平台无关应用
手机听不太懂
期间还听了Adwords(可以自己做一些google广告管理分析工具)和Picassa API,这个可以在web开发上用到。
主要感想:
网络应用的互操作性加强了,其实可以让很多程序开发各种工具赚点小钱,也就是所谓的mushup或者轻量级应用的开发。不过这些和技术本质没有什么关系。更多是业界规范的发展。
欢迎大家有好的想法,我们一起来开发。
发起于 11 小时前|29 人参与
我从小学到大学都是全班最会丢东西的人。而且从来没捡过东西(我会交公的)。
很郁闷。
不过工作之后就好了
每周都有2,3个真实的朋友增加。今天一个出国的小妹妹也增加了(上次见她还是初中)
QQ就没这个效果,除非交换QQ号码(很久没告诉人QQ号码了)
不过MSN还是经常有人加(可能和名片 工作有关) 。
其实SNS对社会还是有贡献的 很多信息在朋友之间需要分享 。目前都是写邮件,博客和msn昵称分享。
不过封闭的一定社区是出路吗,email开放的特点目前还是用的最广的联系方式。
有多少建筑蕴含风险浪费成本
有多少书是言之无物耽误人的时间
有多少化妆品营养品毫无节制地夸大功效
有多少公司利润来路不当,不为社会贡献价值
忽悠和价值贡献活动的比例 就是泡沫程度的大小。
细心观察忽悠真是无处不在。个人,组织,政府,大家,自我,你我。
老毛病又犯了,真是人一但轻松下来就犯毛病啊。
ps:推荐一下 www.zoho.com 非常不错比google好用。除了个人应用之外 以后类似CRM HRM等东西都应该会有服务于中小企业的网络版。