Tuesday, October 8, 2019

1049. Last Stone Weight II

Here is my post written on Oct. 8, 2019

Oct. 8, 2019 9:11 PM
It is the first submission I made by studying one of solutions written in Chinese. I still have several concerns in terms of implementation.
In order to fully understand the algorithm, I asked myself why the second for loop is looping from sum/2 to current variable value, can we do increasing order from current variable value to sum/2 instead. I changed the code, and then one of test cases fails.
I need to look into and be able to explain the above failed test case to change for loop from decreasing order to increasing order. I need to ask a few questions, and work on basics first.
I will come back and update the post based on better understanding of the algorithm.
public class Solution {
    /// <summary>
        /// study code
        /// https://www.acwing.com/solution/LeetCode/content/2139/
        /// I like to read comment written in Chinese. I like to write good comment like this 
        /// as well one day. 
        /// (动态规划) O(n×sum)
        /// 合并的过程就是给每个重量前赋值正号或者负号的过程,相当于把这些石头分为两组,
        /// 使得两组的差值尽可能小,所以这是经典的集合划分NP完全问题,可以采用动态规划的方法求解。
        /// 设状态 f(i) 表示是否存在一个划分,使得某组的重量综合为 ii。
        /// 初始时 f(0)=true,其余为 false。
        /// 转移时,模仿01背包的算法,对于每个物品,有放和不放两种决策,故 
        /// f(j)=f(j)|f(j−stones[j])。
        /// 最终答案需要枚举,j 从 sum/2 开始到 0,如果 f(j)==true,则返回 sum−j−j。
        /// 时间复杂度
        /// 状态数为 O(n×sum),转移数为常数,故时间复杂度为 O(n×sum)。
        /// 空间复杂度
        /// 需要额外 O(n) 的空间构造堆。
        /// </summary>
        /// <param name="stones"></param>
        /// <returns></returns>
        public int LastStoneWeightII(int[] stones)
        {
            var length = stones.Length;
            var sum = stones.Sum();

            var found = new bool[sum + 1];
            found[0] = true;

            // transition formula - figure out the reasoning later
            for (int i = 0; i < length; i++)
            {
                var current = stones[i];
                for (int j = sum / 2; j >= current; j--)
                {
                    found[j] = found[j] | found[j - current];
                }
            }

            // Find maximum sum less and equal to sum/2. 
            for (int i = sum / 2; i >= 0; i--)
            {
                if (found[i])
                {
                    return sum - i - i; 
                }
            }

            return sum; 
        }
}


Actionable Items


It takes time to figure out the analysis how to come out the idea why using descending order is a must in second for loop. I had to go through rigorously thinking in order to understand the process. So I understand that it is time consuming process to figure out why.

Learning Knapsack algorithm turns into such great experience, since I try to challenge myself; try the different idea, failed test case, and then push myself to explain it. I could not explain it on Oct. 8, 2019. It turned out so clear to me next day.

François Rochon: "The Art of Investing: Analyzing Numbers and Going Beyond" | Talks at Google

Here is the link.


Monday, October 7, 2019

Case study: Mock interview as interviewer - 1049. Last Stone Weight II

Oct. 7, 2019

Introduction


I tried to solve the algorithm last Friday, but I failed to solve it. I only solved the easy level one last stone weight, so I decided to ask the interviewee in mock interview.

Case study


Here is the transcript.


Actionable Items 


I need to work on my weekly contest performance. I need to solve more algorithms, keep myself busy.

The interviewee has very good performance on weekly contest, his ranking is around 8000, mine is around 20,000 right now. He solved four algorithm in weekly contest 157, I only solved the first two algorithms, here is my blog. So I have to push myself solve more algorithms, keep myself active in practice.


Continue to work on algorithm and data structure

Oct. 7, 2019

Introduction


It is my short research. I like to figure out how to solve more algorithms in next two weeks. How can I do that?





Sunday, October 6, 2019

Laboratories of Democracy: what Seattle learned from having the highest minimum wage in the nation

Oct. 6, 2019

Introduction


It is interesting topic. I just had a road trip to the city of Seattle. My friend told me that the minimum wage is $15/ hour in the city of Seattle. I like to read more articles on this topic.

One article a time


Here is the article.

The city adopted a $15 minimum wage four years ago. Here’s what happened.


Bill Miller is staging one of Wall Street’s most closely watched comebacks

Here is the article.

Someone who invested $1,000 in the Value fund with Miller in 1993 earned more than $6,000 over the next decade, twice what they would have seen by investing in the S&P index.

There are two types of hedge funds, he says: those for people who want to stay rich and others who want to get rich. He wants to run the latter.

Miller is targeting one of the industry’s chief weakness — its high fees. Most hedge fund managers charge a 2 percent management fee and 20 percent of the profit earned, known as “2 and 20.” Miller allows clients to choose from several payment models, including paying him nothing if he doesn’t beat the S&P index.


Miller appears unfazed by the high-powered naysayers, comparing his investment in bitcoin to his once widely criticized investment in Amazon.
“People thought up until recently, less than three or four years ago, that Amazon was kind of a fake thing, too,” he said. “Now that’s flipped over, and people now think Amazon is going to kill every company in the country.

Bill Miller says his fund is off to a strong start in 2019, believes Amazon will double in three years

Here is the article.




How Investing Legend Bill Miller Is Beating the Market Again

Here is the article.

His optimism regarding a forthcoming market rebound is why he expects his top picks to outperform, including: Facebook Inc. (FB), ADT Inc. (ADT), Avon Products Inc. (AVP) and Amazon Inc. (AMZN), per MarketWatch.

Bill Miller's 4 Favorite Picks

(Company; Market Cap; YTD Stock Performance)

  • ADT; $5.4 billion,16.6%
  • Amazon; $816.9 billion, 8.1%
  • Avon; $876 million, 29%
  • Facebook; $428.2 billion; 12.3%


Bill Miller on Investing in Disruptive Technologies including Bitcoin

Here is the link.

Miller Value Partners’ Bill Miller holds the record for being the only mutual fund manager to beat the market for 15 years in a row. One way he did it is by investing in new technologies that the Wall Street establishment thought were crazy at the time - Amazon, Google and Facebook among them. His latest “crazy” idea: Bitcoin.

Legendary investor Bill Miller on Apple, Amazon and more

Here is the interview lasting 8 minutes.

Bill Miller, chairman of Miller Value Partners, sits down with CNBC's Brian Sullivan in an exclusive interview.

Bill Miller (investor)

Here is the wiki article.




Course 508: Great Investors: Others in the Hall of Fame Bill Miller

Here is the article.

Critics characterize Miller as a growth investor in a value investor's clothing, but a look into his thought process reveals Miller's knack for seeing value where others don't. This ability has allowed the Legg Mason Value Fund to beat the S&P 500 for over a dozen consecutive years--a remarkable feat.

A more recent example of Miller's value/growth mix is his purchase of Google GOOG, a rapidly growing Internet search engine. While many investors shied away from this stock due to valuation concerns, Miller scooped up shares during its IPO. The stock doubled quickly after the company went public. While it's still too early to tell where Google will be five or 10 years down the road, this purchase was done in classic Bill Miller fashion--investing in a wildly profitable company that few investors understand or appreciate. 


Course 505: Great Investors: Philip Fisher

Here is the link.


Course 505: Great Investors: Philip Fisher Fisher's 15 Points

Here is the article.

Fisher's investment philosophy can be summarized in a single sentence: Purchase and hold for the long term a concentrated portfolio of outstanding companies with compelling growth prospects that you understand very well.


MIT distributed system course

Oct. 6, 2019

Introduction


It is a good idea to spend some time to study the distributed system course. Here is the link.


Philip Fisher

Here is the article on investopedia.com.

Philip Fisher’s Belief in Small-Cap Growth Stocks

Fisher divided the universe of growth stocks into large and small companies. On one end of the spectrum are large, financially strong companies with solid growth prospects, which during his time included IBM, Dow Chemical and DuPont, all of which increased in share price fivefold in the 10-year period from 1946 to 1956.
Although such returns were enviable, Fisher was more interested in the big returns that could be found in "small and frequently young companies…[with] products that might bring a sensational future." Of these companies, Fisher wrote, "the young growth stock offers by far the greatest possibility of gain. Sometimes this can mount up to several thousand percent in a decade." Fisher believed that all else being equal, investors should concentrate their efforts on uncovering young companies with outstanding growth prospects.

Actionable Items

I should invest some time to learn to find some growth stocks to purchase with several thousand percent in a decade. 

COMMON STOCKS AND UNCOMMON PROFITS SUMMARY (BY PHILIP FISHER)

Here is the link.

Top 5 takeaways from Common Stocks and Uncommon Profits: 00:10 1. Fisher’s 15 points checklist 04:16 2. The Scuttlebutt method 06:40 3. Unconventional wisdom 1: Dividends don’t matter 09:32 4. Unconventional wisdom 2: You are diversifying too much 11:46 5. Fish in the right pond

- An investment should tic most of Philip Fisher’s 15 points checklist to be considered a great growth stock - Use “Main Street” resources, such as suppliers, customers, trade associations and former employees to beat Wall Street in the stock picking game - Look for companies that have great confidence in their businesses, where money is being reinvested in productive activities, rather than being dealt out in dividends - How to invest in stocks? Don’t diversify too much – the more companies you own, the less you know about each of them. - One of the most important investing strategies that you can learn about is filters. There are so many opportunities out there – but so little time.

ONE UP ON WALL STREET - PETER LYNCH - ANIMATED BOOK REVIEW

Here is the video.

"One Up On Wall Street" by Peter Lynch is one of the best books to read for anyone looking to invest and pick individual stocks.

Peter Lynch, managed the Fidelity Magellan Fund from 1977 to 1990, averaging a 29% annual rate of return for that time frame, making the Magellan Fund the top performing mutual fund in the world. This is one of the most readable and easy to understand investing books on the market. The lessons are simple, KNOW WHAT YOU OWN and don't let your emotions interfere with your decision making!


Peter Lynch On How To Pick Stocks

Here is one hour video.


Fox business - personal finance

Oct. 6, 2019

Introduction


I like to spend time to watch some videos from Fox business - personal finance. Here is the link.

ONE UP ON WALL STREET SUMMARY (BY PETER LYNCH)

Here is the video I like to watch.

In this video I will present the top 5 takeaways from One up on Wall Street, the bestselling book by legendary investor and manager of the Fidelity Magellan mutual fund, Peter Lynch.

Peter Lynch - Wikipedia

Here is the article I like to spend 10 minutes to read.

Case study: programmer as a career - series 4 of 4

Case study: 楼钧
无论正挤破头要去大厂的人,还是已经在光明顶沐浴阳光的人,程序员中的“老人”们已在寻找自己的下一个战场。因为对于绝大多数人来说,程序员不是一个终生职业。
“我现在转行了”,楼钧顿了顿说:“现在做餐饮。”放弃老本行,让在行业中小有名气的楼钧感到难为情。
楼钧是国内某大厂老人,40多岁,程序员出身。跟随技术趋势和公司业务的调整,他的职业生涯进行了几番变动,做过操作系统、云和大数据,几年前人工智能袭来时,他又要学习AI。直到这个时候,老楼承认这个年纪学新东西太吃力,那些书和论文已经啃不动了,离开是最好的选择,给年轻人挪窝,给自己解脱。
楼钧这样的人在他的老东家并不少见,他们在十几二十年职业生涯里,完成了财富积累后,隐退江湖。有趣的是,这其中一大波人选择了传统餐饮行业,这是个陈旧的古老行业,不需要翻英文论文,不需要一宿宿加班跟产品经理battle,一笔钱投进去,找个业内人,自己听响就够了。

Actionable Items

Case study: programmer as a career - series 3 of 3

Here is the article.
Case study: 
前百度资深研发工程师张成海
35岁后该怎么转型?这极富现代化的忧思不是一个新议题,但率先在程序员群体中蔓延。有调查显示,近一半的程序员年龄在25~29岁之间,且35岁以上占一成不到。
 
前百度资深研发工程师张成海认为,在国内,程序员的确不是一个终身职业。在他看来,这并不是因为程序员要掌握的技术日新月异,而是源于国内职场环境忽略了程序员的工程师属性。
 
有人认为程序员和医生不同,后者靠经验积累,前者则是靠吃青春饭,因为技术迭代的节奏太快,且每个技术都是不同的,需要重头再来。中年以后,程序员的学习能力和速度都极大下降,以致无法匹配工作需求,只能退出职场。
 
但张成海说,当下很多流行的技术其实是过去的延伸。他举例,Ruby on Rails 这个Web开发框架,现在基本已经消亡,但其中的思想在如今流行的Python Web框架Django中依然有所体现。不止如此,“现在所有流行的Web框架都会受到影响,一个美好的东西出来了,人类就会记住它,再以不同的形式重现它。”
 
“一个有素养的工程师不会被这些所谓的新东西迷惑。”张成海表示,前两年人工智能很火,诞生了很多新算法,但实际上,这些新算法不是凭空而来的,它们都是对旧有算法做出了各种改进,恰好在一段时间内集中爆发。有人说人工智能很新,他要从头学。这不能说明程序员不依靠经验,而是说明,国内公司分工有问题,没有提供一个好的职业发展途径。“国内注重的不是工程师的素养,而是能否加班,短期内能压榨多大的价值,有些程序员是速成的,知识体系本来就不牢固。”张成海解释到。
 

软件工程师落脚是在“工程师”,张成海笑言,对于工程师来说,经验总是凌驾于工具之上的,其他工程学范畴内适用,计算机同样适用。而国内程序员难以成为终身职业,根本原因是国内的资本发展不够健康,没有工会约束,最终忽略了程序员的工程师属性。

不过,仍有大量程序员在中年以后选择了更广泛的领域,好像前些年的程序员生涯是在练基本功,为后面更富色泽的人生打下一个基础。

Case study: programmer as a career - series 2 of 3

Here is the article.

Case study: Qin Chen


两个礼拜前,美国硅谷,一名中国籍程序员在Facebook总部的大楼上纵身一跃,结束了自己38岁的生命,没有留下任何遗言。
 
时代浪巅,前途光明,这个因光环吸引了无数优秀人才的行业,裹挟其中还有不为人知的高压、焦虑和各种苦不堪言。
 
从Facebook四楼跳下的工程师Qin Chen毕业于浙江大学,30岁那年赴美在南加州大学攻读硕士,后留在美国,一年半前加入Facebook。根据前Facebook工程师、现YouTube网红Patrick Shyu在揭露视频中介绍,Qin Chen所在的广告技术部门,本身压力就很大,稍有闪失都可能造成数百万美元的损失。最近Qin Chen的工作评级下滑,他想换组避免进入PIP(绩效改善计划),因为进入PIP的雇员在一段时间内如果不达标就会被炒掉。Qin Chen的印度裔上司先是同意,后又出尔反尔,最终还给了他一个低评级,让他无法换组。
Patrick Shyu还称,Qin Chen没有绿卡,只持有工作签证。这意味着,如果被开除,他就必须得在60天内找到新雇主,不然就得离开美国,而他的家人待在美国也全靠他的工作签证。外界猜测,38岁的Qin Chen在美国的8年时间几乎每两年跳槽一次,与拿绿卡不顺有关,这些压力最终压垮了他。
 
很多人认为,Qin Chen事件并不是一个人的悲剧,应该将其归咎于Facebook恶性竞争文化以及美国大厂对PIP制度的滥用。在Patrick Shyu的视频中,有Facebook员工在匿名论坛Blind上坦言,自己有好几次也想过自杀,并且去阅读公司死亡保险。也有员工写道,当他与其他员工谈论企业文化和工作中的快乐时,很遗憾没有人说很快乐,没人愿意长时间待下去。
 
有国内老程序员评论说,Qin Chen的行为表明,程序员肯定不是他原本内心深处最热爱和执意追求的东西。因为干程序员很苦,没有真心的热爱,很容易被别的东西裹挟。而最近这些年互联网的高速发展,这个职业被裹挟了太多东西。
 
也有湾区码农评论称:被PIP了不要先自我否定,这就是一门生意而已,不要把自己个人的喜好过多投射到一个商业公司上。要想的只有怎么让自己的利益最大化,怎么给自己争取更多的时间。

Actionable Items

How to do a good business for myself? Do not think about negative things. Trust yourself how to build wealth and grow rich. 

Mental health is a biggest issue. Every one may have depression under stress. It is better to learn first, and stay healthy no matter circumstance. I think that it is important to push myself to work on basics. 

US visa, salary, income, net asset, peer pressure, all those things should be considered carefully. I think that living under your mean, frugality, do not boast your income, stay away from people who like to scam you, and learn from job experience, and learn how to invest as well. Minimalism is also a good life style to look into. 




It’s time to give managers basic training in mental health

Here is the article.


Google is running an employee mental health project without any metrics

Here is the article.


Case study: programmer as a career - series 1 of 3

Here is the article.

Case study - 郑然 2017 - 2019

Computer master degree, Google one year experience, PIP,



2017年郑然在美国一所大学修完了计算机硕士,第一份工作是湾区的一家创业公司。离职待业时,她想过回国,但周围人都在跟她说:“坚持一下,不能回国,回去就是失败。”
 
她很迷茫:100万元的留学开销、身边同学不断收到的offer大包、要留在美国的自尊心、上一份工作中来自上级“你不适合做程序员”的评价……睡觉时郑然常常望着黑暗中的天花板问自己:我是不是一个loser?
 
她决定要留下。这之后半年,郑然主力攻克谷歌,开启刷题模式,这一刷就是半年。谷歌题库700多道题,她并不是把每道都刷到,但两百道是有的。但当她如愿以偿进入谷歌后,并没有变成“人生赢家”,她在工作中感受不到快乐,待了一年后,她被PIP,两个月后便离开了谷歌。她说:“我在湾区就是一个失败典型吧。”
 
郑然经历了痛苦的自我怀疑时光,她寻求过多个心理咨询师,包括谷歌内部的Bluedot志愿者。她发现大公司内部的心理咨询部门并不是给求助员工信任和自由表达的绿洲,其价值就在于帮公司劝你尽早主动离职。
 
还有专业的心理咨询发挥了作用,她意识到自己并不是一个loser。身处湾区“CS大法好”的大环境,很容易被周围的圈子攀比带跑偏。一个在湾区大厂的程序员总结,在湾区,码农们比谁拿的offer高、谁拿到了绿卡、谁住的house漂亮、谁的孩子上了顶级私立学校......
 
比较永不停止,他们已经是站在金字塔顶层的程序员,但正因此而更怕掉队,对“成功人生”的追逐狂热不减,以至于他们步步惊心,如履薄冰。当裁员或者PIP来袭时,程序员们更容易陷入脆弱的绝境,担心周边人的眼光而崩溃。
 
离开谷歌后,郑然在两个月时间里做了以往从未做过的事情。运动、用约会软件认识网友、参加了一场两百人相亲大会。这些事情让她突然发现,世界之宽广,人类之丰富,成功和失败之间没有标准。
 
“我连不擅长写代码都能刷题刷进谷歌,那我做自己擅长的事情岂不是无敌?”郑然终于跟自己达成了和解,但是她表示心理咨询会一直进行下去。

Actionable Item

I need to learn how to read the article. I found the keyword: Google bluedot, and then I find myself an assignment to work on. Read the article related to this Google bluedot project. 


What Bonds Are and How They Work

Here is the article I like to read .


How a Fixed Annuity Fits a Retirement Plan

Here is the article.


How to Use Bond Ladders for Retirement Income

Here is the article.

Bond Ladders as Part of a Balanced Portfolio

Suppose you are an investor with a moderate risk tolerance, retiring with $1 million. You might take $400,000, or 40% of your portfolio, and buy eight bonds with a face value of $50,000 each. The first bond would mature in one year, the next would mature in two years, the next in three years, and so forth, thus laddering the bond portfolio over an eight-year period. This is a simplified example, but it gives you a general idea of how it works.
The remaining $600,000 would be invested in stocks (equities preferably in the form of index funds) to make up the growth portion of your portfolio. Eight years later, if stocks averaged a 7% rate of return, the $600,000 would grow to just over $1 million, allowing you to sell $500,000 of stocks to create another bond ladder.

Sequence Risk's Impact on Your Retirement Money

Here is the article.


Rolling Returns vs. Average Annual Returns

Here is the article.

Interesting paragraph to read:

Nassim Taleb, in his book The Black Swan (Penguin, 2008), has a section called “Don’t cross a river if it is (on average) four feet deep.” It is a statement worth pondering. Most financial projections use averages. There is no guarantee that your investments will achieve the average return. 

Volatility is the variation of returns from their average. For example, from 1926–2015, historical stock market returns—as measured by the S&P 500 Index—averaged 10% a year. But that average encompassed years where it was down 43.3% (1931) and up 54% (1933), as well as more recent years like 2008 when it was down 37%, and 2009 when it went up 26.5%*.


A ten-year rolling return would show you the best ten years and worst ten years you may have experienced by looking at the ten year periods not just starting with January, but also starting February 1, March 1, April 1, or any other date.

Facts: 


the S&P 500 Index
down 43.3% (1931) 
up 54% (1933)
down 37% (2008)
up 26.5% (2009)





Does Taking on Investment Risk Deliver Higher Returns? - extreme risk investments

07 Extreme risk investments

High-risk investments can deliver fabulous returns, but you also take the risk you could lose everything you've invested.
High-risk investments include things like owning individual stocks, starting a business, playing the options market, or speculating on a piece of real estate.
It's not quite like gambling, because you're investing in an opportunity that you've hopefully taken the time to thoroughly research, but luck will still have quite a bit to do with your results.
For play money or sophisticated investors, these choices are fine. But for those of you who have a limited amount of funds and know you'll need to rely on them in retirement, you probably want to steer clear of higher risk choices.

Actionable Items

I like to look into this topic. I like to figure out how to invest an individual stock. I like to study Amazon stock, ROSS and Apple stock. 

Does Taking on Investment Risk Deliver Higher Returns?

Here is the article.

01 comparing low risk investments to high risk investments
02 safe, no risk investments
03 low risk investments
04 moderate risk investments
05 high risk investments
06 compare low risk investments to high risk investments
07 extreme risk investments




Learn How to Become a Better Investor

Here is the article.




Case study: Seattle road trip expense report

Oct. 6, 2019

Introduction


It is my personal finance research. I had to discipline myself not to purchase another pair of Nike sneaker on sale on road trip to Seattle, last year I purchased three pairs. And also I like to figure out how to analyze what I need and what I want.

Case study


I like to list all expenses I spent. And also I had a friend to offer me to stay in her house for one night, and another friend offered me to drive to snowqualmie falls, and treated me a lunch as well.

As a Christian, I also decided to visit a friend in hospital, and brought some food with me to show my care and fellowship with the friend I knew back in Florida.


I had to pay a tank of gas for round trip to Seattle, which is total 400 miles in total. The gas cost is around $68.09.

I paid parking for Google GHC event, I chose the cheap one, $10.00 US dollars for 3 - 6 hours.

I spent over 20 minutes in Nike store to try a few pairs of sneakers, but I did not purchase any of them. And then I bought two soccer balls on sale, $8.00 dollar each, one for me, one for gift to my friend.

I spent a lunch at Casino Seattle premium mall.

Total expense is around $176.00 Canada dollars. 1 US dollar is equal to 1.33 Canadian dollar.


Double check, make sure that credit card number is removed from the above image.

Follow up 

Nov. 1, 2019
I used to play a few times soccer in 1984, but I never had chance to own a soccer ball. I like to play more soccer ball inside my Vancouver home office, it is good for me to train my arm and my finger to keep them agile for daily acitivities.


Saturday, October 5, 2019

Josh Brown: "CEO, Ritholtz Wealth Management" | Talks at Google

Here is the link.


Mr. Frugal, should I purchase a GPS with less than $100 dollar budget

Oct. 5, 2019

Introduction


It is time for me to think about the purchase a new GPS. I found out that my GPS does not work on Oct. 2, 2019, and it took me three hour 30 minutes to get my friend's house, which will take less than 30 minutes with a GPS.

Research for the purchase


I have to learn to make a plan for my expense. I do have to analyze the tools I need for road trip. Frugal is a good idea to practice, but I also need to learn how to evaluate how good my 10 year old GPS, it should be replaced long time ago.


1217. Play with Chips

Here is the post.

It is the first algorithm in weekly contest 157. I spend almost 20 minutes to read and think, and then finally I learn that odd or even position should be counted, and sum of odd position and sum of even position can be used to calculate the minimum cost.
time complexity: O(N), N is the size of the array
public class Solution {
    public int MinCostToMoveChips(int[] chips) {
        var even = 0; 
        var odd = 0;
        
        foreach(var item in chips)
        {
            if(item % 2 == 0)
                even++;
            else
                odd++;             
        }
        
        return even >= odd? odd : even;
    }
}


weekly contest 157

Oct. 5, 2019

Introduction


It is my favorite weekly contest. I just played weekly contest 157 today. I solved the first two algorithms, and then I only had less than 10 minutes left. I spent some time to chat with SJTU 1984 wechat group, I started at least 10 minutes later.


My performance


Here is my performance.


Actionable Items


I found the joy in the first easy level algorithm. I could not figure out what is asked in the question, so I read again and again, almost 20 minutes, I finally figure out the question, and also it took me at least five minute to come out the idea to solve it.

The first 20 minutes is so fun. I thought about how tough it is to understand the problem, I need to read, play with an example, and then read the statement again, and then think about, and then read again.