分类目录归档:Algorithm

迟到的2025年总结

2025到2026年的跨年是在零下30度的冰天雪地的哈尔滨度过的,难忘的冰雪大世界,东北虎林园和看到感动落泪的白鲸秀。今天假装上班,然后终于来总结一下我的2025年!

1月
从泰国回来开始,在家里做饭跨年
然后就是滑雪、泡汤、带八一中学的学生学微信小程序
过年开车回家,绕行淄博,淮安,涟水,武汉,到常德,带着一家人一起开车
到了一个都没有去过的籍贯老家

2月
开车回北京,玩了荆州的方特,又看到了打铁花
然后是洛阳的龙门石窟
重启死亡搁浅游戏还有原神
生日收到了第一个JellyCat的老虎玩偶

3月
家里弄了一个小鱼缸,开始养鱼
继续上博士课程,最后半学期的课
突然去了海口周末游,坐在海边唱歌,看夕阳

4月
春暖花开,对了,紫竹院的船还没有坐到呢!
开始疯狂看演唱会,第一场是阿妹的
开始玩双影奇境
大白屏幕被水瓶砸裂,也是挺稀奇的
月中出发韩国首尔,跟两个好朋友一起听Coldplay,太爽了!
蹦到飞起,首尔还可以再去
月底听了张杰

5月
五一的威海之旅,大海是永恒的主题,烟台下次去吧
试了下攀岩,还是可以爬到顶的!
五月中去听了张学友
月底凤凰传奇
还吃了个巨贵的日料,因为张学友的票很难抢!
夏天了,同事们又开始walk,聚餐,喝酒

6月
紫荆关长城漂流,水不是那么透亮,但是时间够长啊!
顺路逛了保定
月中突然的冲绳四日游,真的很不错!除了交通不是很发达以外
美美的大海
回来又去了欢乐水魔方,也是知道好久了,但是第一次去
还听到了孙燕姿!临时三开抢的票
6月20号非常戏剧性的Rainbow派对剧本被叫停,哈哈哈
月底听了徐佳莹,太好听了!

7月
再次去香港,看到了航空母舰,拍了李嘉诚同款,发发发!
原因是要取美元买的NS2,哈哈哈,太好玩了
11号听了陈奕迅,也是我2025年的年度歌手了,然后13号林俊杰又听到了孙燕姿
一年见两次也是没谁了
17号又是上海一年一度的GML

8月
一年一度的五月天演唱会
逛大吉巷
继续买CD,买齐了周杰伦的所有!下一人是谁呢
吃烤匠,开始超级猩猩,看熊猫堂,北京暴雨
去草原天路,也算是去过草原了
听王心凌,好美!
送同事喝酒喝多了去医院……凌晨3点还在那坐轮椅,吃烤牛肉
吃到了金源的寿司郎,去爬了久违的香山登顶了,想起了最近看的神秘园
一年几度的环球影城

9月
家里阳台的小鸟孵化出来了
租了vision pro试玩
夜爬景山公园
二刷环球影城,继续拳击课
空空酒馆
追鬼灭之刃,新手机太丑了都不想买

10月
去平谷民宿泡汤,挺不错的
国庆节开始青甘大环线
天空之镜挺赏脸的,突然变晴。虽然没有看到蓝蓝的青海湖
盐湖真的太美了,突然觉得开那么久都值得
敦煌夜市,超赞,沙漠,黑独山,都很棒!
还有刺激的沙地摩托!七彩丹霞,返程的时候还看到了雪山
回来就到了吃大闸蟹的时候了,打卡了熊煮咖啡

11月
成都offsite,这个选地挺有意思的,我这么熟悉的成都
又吃了烤匠,带着同事们逛街,有一种次元壁穿了的感觉
上次有这样的感觉还是从成都回北京的时候
跟韩国人一起跳APT,解锁了新的技能。希望明年的时候可以大跳了,哈哈哈
顺路去了乐山,吃了好吃的
然后是回来看鬼灭之刃剧场版,大学同学的婚礼
三刷环球影城冬日版

12月
吃了一只巨大的帝王蟹,一蟹三吃!
玩上了Reviver2!刺激,宝可梦传说ZA也通关了八方旅人2也通关了
开始玩年度游戏33号远征队
年会一起穿企鹅,跳高雅人士的舞蹈,然后还Rap了一下哈哈哈
试着买喷头发的把头发也喷成了白色,挺好看的
最后是哈尔滨大土豆跨年

总结一下:
今年继续看了好多场演唱会,玩了好几个大作游戏
出去玩了好多次,去年的flag也差不多其实都完成了
希望2026里面,继续锻炼身体,每个月都可以出去玩玩
计划1-2次大的,带爸妈去美国
然后2026-2027去一个温暖的地方跨年

2026年flag
由简单到困难模式

  • [ ] 天气暖和了步行游览一下昆玉河,蓝靛厂路两侧的步道
  • [ ] 紫竹院坐船到颐和园
  • [ ] 烟台
  • [ ] 首尔or济州岛
  • [ ] 福冈九州鹿儿岛
  • [ ] 三亚or普吉岛or马尔代夫
  • [ ] 宁夏?
  • [ ] 张家界?
  • [ ] 带爸妈去美国
  • [ ] 去欧洲玩玩
  • [ ] 坚持一周锻炼3-4次
  • [ ]

2022再见,你好2023

2020到2022真的发生太多事情了!疫情的三年,各种神奇的事情,各种经历,核酸,封控,小阳人,然后阳康。

回顾一下2022这一年

1月

再逛古北水镇,南山重拾滑雪,做蛋糕,逛首钢园

2月

逛西单,过年,去狗咖,玩夜场的持斧奥夫,吃巨贵的板前十胜过生日

3月

摘草莓,开始玩艾尔登法环

4月

玉渊潭看樱花,看了几个公寓

5月

去农家乐,京东大峡谷,平谷金海湖

6月

封控在家!

7月

去环球影城,多布营地

8月

回常德新家住新房!长沙喝茶颜悦色,带实习生,玩飞盘,逛植物园

9月

爬植物园后山,去水立方玩水,恢复锻炼,换新手机

10月

逛蓝色港湾,多布营地冻死人,海洋馆,北平制冰厂,又一个人去环球影城刷霸天虎

11月

唯一的出差,上海之行,淀山湖,然后好不容易费尽周折回来小区又封控!!!

12月

阳了在家,然后好了就出去玩,看房子,逛三星堆,金沙遗址,看脱口秀

然后到今天1月1号飞机回京,到爸妈那吃了晚饭。

总的来说,2022年一整年基本都在北京,除了回了趟常德,成都,出差上海。但好的是疫情终于结束,一切尘埃落定,2023年又可以到处跑了!

看了下2022年的flag,新疆三亚就放在2023吧,爸妈出去玩的事也安排下云南,西安,锻炼还需要继续恢复,自己的话,就继续搞定那个大件!

还有什么愿望的话,就是大家都健健康康,世界和平,这样才能周游世界哇!

2023,继续加油!L6噢!

2022来了!

今年的年度总结比以往要来的早一些啊~主要原因是晚上即将在剧本杀中跨年度过,所以趁着早上美好的时光,赶紧来写写吧!

想想去年还去了广州跨年,今年因为疫情哪也去不了呢,希望2022真的能好起来!

1978-2000-2022

又是一个22年,还记得2000的时候,我爸跟我说,这是一个新的千年了呢。

照例来回顾一下我的2011(大误,是2021!!!)

1月

广州长隆,动物真的是不错的。不过北京南边那个野生动物园也还不错~

工作原因去了趟桂林,想想那个象鼻山,小得就是人家一普通公园的景色!

看五福玲珑居

2月

和老爸老妈回了常德,好像是第一和老妈单独回家,路过长沙火车站的时候还挺感慨的。好多年,都是这样常德-长沙-北京 来来回回

看了新家装修成果,一起喝了茶颜悦色

然后又回北京,去了北海公园,第一次去献血,学习玩“卡坦岛”

3月

参观成都相亲角,去茶馆喝茶

学习玩只言片语,然后是一小只的生日

4月

带着爸妈一起去成都重庆的9日之旅,非常开心

看大熊猫,看大佛,吃了好多好吃的,赞不绝口!哈哈哈

5月

第一次去西藏,拉萨,纳木措真漂亮

还有一件大事是喜提大白,期待了好久的特斯拉Model Y

然后开了2200公里的长途,第一次,很精彩

6月

带姐姐去学习攀岩,想想现在已经可以登顶了,溜冰也会了,真是不错

去了峨眉山,猴子真的挺猛的

然后UME Play是真的精彩!

7月

跟团队去了厦门,鼓浪屿

去爬青城山

然后沿途又开回北京,途径西安,黄河,山西,保定

8月

和组里的人一起组乐队,表演

又开始做饭

9月

安吉工作之旅

石景山游乐园晚上还挺不错的

10月

重游北京的一些景点

去了北京大兴野生动物园

天津之行,还有小镇

快闪上海,二刷三刷迪士尼!

11月

去做蛋糕,一起吃火锅,王者荣耀比赛

12月

环球影城我终于来啦,时隔两年再滑雪

南山滑雪场,矾根民宿都不错,mark!

古北水镇,然后年底KTV居然又喝大了!

回顾看起来,这一年还是做了很多事情的,最最重要的是很多事情都尘埃落定,慢慢又找回了自己,找回了内心的安定和希望有一天能真正的又从心底里开开心心起来!

这一年还玩了好多好多个剧本杀和密室,还通关了几个游戏,也算是小小的成就吧,体验了不一样的东西。

最后趁着这温暖的阳光,给2022留几个flag吧

1、去新疆、三亚

2、带爸妈再出去玩1-2次

3、搞定那个大件!

4、恢复一些锻炼吧!

元旦快乐!!!!

最近的事

厦门佛事用品展

故宫博物院

准备去美国

好多好多事

做都做不完的事

希望越来越好

ps:ipad pro的键盘和鼠标都挺好用的

坐等今天晚上的新mac

算法学习(4)

近期刷题小结:

Palindrome Number

之前的方法主要是转成字符串,或者是翻转数字之后比较。但是题目要求不能使用额外的空间,所以需要直接取出数字的首末位比较。先求得数字的位数,然后用(x % 10) != (x / (int) (Math.pow(10, len – 1))) 比较头尾,每次比较完之后会掐头去尾得到一个新的数,依次可求是否为回文数。

Regular Expression Matching

模式匹配还是需要用到递归的,看起来也比较清楚。每次获取两个字符串的首位,然后主要有两种情况:1、单个字符,且后续没有*号,直接比较,然后比较各自-1的子串;2、后续有*号,这种情况相对复杂,又分成三种可能,最常见的是aaa和a*这样,a*匹配所有的a;一种是像aaa和aa*a这种,可能a*只匹配1个a;另外一种是像aa和c*a*,c*根本不匹配。

Container With Most Water

暴力算法就是循环两遍,找到所有的组合比较,效率较低

可以分析得出,如果从两端开始计算,依次缩小范围,只有可能中间的两块板特别高,才有可能比摊平的要大。所以依次取left和right计算area,然后将较小的抛弃,计算内部的可能area。

Integer to Roman

Roman to Integer

这两个的思想都是先定义了对应关系:

int[] nums = { 1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000 };
String[] romans = { “I”, “IV”, “V”, “IX”, “X”, “XL”, “L”, “XC”, “C”, “CD”, “D”, “CM”, “M” };

然后使用累加的思想,每次累加依次,就输出一个罗马数字,这也是罗马数字本身的思想。比如III是3个1累加和VI是5加1

反过来也是,依次从最大的开始匹配字符串,然后累加,比如DCXXI,依次匹配D,C,X,X,I,因为不存在DC或者XI这样的组合

注意都是要从最大的数开始累加

Longest Common Prefix

这个的思想比较直接,时间复杂度是O(nm),n个字符串,m是最长前缀子串的长度。

依次取出第i个字符,看是不是每个字符串都包括,如果包括就加入common prefix

 

 

算法学习(3)

继续刷题

atoi函数的实现,需要注意的问题:

The function first discards as many whitespace characters as necessary until the first non-whitespace character is found. Then, starting from this character, takes an optional initial plus or minus sign followed by as many numerical digits as possible, and interprets them as a numerical value.

The string can contain additional characters after those that form the integral number, which are ignored and have no effect on the behavior of this function.

If the first sequence of non-whitespace characters in str is not a valid integral number, or if no such sequence exists because either str is empty or it contains only whitespace characters, no conversion is performed.

If no valid conversion could be performed, a zero value is returned. If the correct value is out of the range of representable values, INT_MAX (2147483647) or INT_MIN (-2147483648) is returned.

1.从第一个不是空格的开始转换

2.如果空串,或者全是空格,或者没有符号+数字这种组合出现,返回0

3.注意正负和int越界的问题

4.连续符号出现返回0

5.转换过程中如果遇到其他非数字字符,停止转换,返回现有值

算法学习(2)

继续在Coursera上复习算法

包括

Union-Find:快速查找,快速连接,找到最顶端父节点连接

元素排序算法:选择排序(每次交换较小的到首位),插入排序(插入到已排序的数组),希尔排序(间隔13-4-1插入排序),乱序方法(O(n)时间复杂度的随机序方法)

随机散点的凸多边形问题,Y坐标排序,遍历取角度,判断是否逆时针

待学习:

堆栈,变长数组,队列

 

leetcode方面

最长回文子序列:反向字符串求最长子串,哨兵和反射结构

Add Two Numbers:链表反序存储和进位

ZigZag Conversion:数学问题,找位移规律

Reverse Integer:反向没有0开头,注意负数情况

 

算法学习第一篇

重新开始学习算法

Coursera在线课程,普林斯顿的算法一、二

教材是《Algorithm》

练习题主要是leetcode.com上的OJ里面题,一个一个开始刷吧

全Java实现

今天主要是复习快排,二分,集合操作,求两数和的位置,两有序数组的第K大数,最长无重复连续子串