ARTS 2019 01 05 (12)

本文分享了作者通过ARTS计划(算法、评论、技巧、分享)提升个人技术能力的经验。重点介绍了回文链表算法题的解决思路,动态规划题目的理解和链表倒转技巧,并分享了一篇关于时尚品牌市场策略的文章。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ARTS
Algorithm:每周至少做一个leetcode的算法题;
Review:阅读并点评至少一篇英文技术文章;
Tip/Tech:学习至少一个技术技巧;
Share:分享一篇有观点和思考的技术文章;

Algorithm

234. 回文链表

https://leetcode-cn.com/problems/palindrome-linked-list/
这个是在看算法之美专栏的时候就看到的解法的题目,但是一直觉得还是亲手写一下会好很多的!今天根据想法写了一些,从过程来看,还是有挺多要点要记住的:

  • 用快慢指针的目的是为了可以确定中点的位置,链表不比数组,数组我们有索引,可以直接根据数组的长度来确定的中点的位置,但是链表因为没有索引,所以要确定中点的节点的所在,需要用一快一慢两种指针, 慢指针一次往下指一个low = low.next ,快指针一次指两个quick = quick.next.next。这样,当快指针到底的时候,慢指针刚刚好到达中点的位置

  • 倒转链表,这个绝对是练习链表操作的很好的做法,其中各种的链表的节点的指针指来指去的主要看你的想象,最好是画图来确定链表的指针到底到了哪里。这里推荐一篇博文:https://blog.csdn.net/feliciafay/article/details/6841115
    里面有很浅显易懂的图片帮助理解如何进行倒转链表。

  • 这道题比较慢的做法其实就是把这个存到一个list里面,然后遍历,当然速度和查中点指针,然后倒转链表然后进行遍历比较来说慢的多。

  • 比较好的做法是倒转后面的数组,然后从head开始进行比较,比较到最后就是判断后半部分的倒转的链表是否到了最后一个节点,如果到了,那么就是意味着是个回文链表,不管这个链表的节点是单数个来时偶数个;直接看后半部分的倒转后的链表,因为如果是单数个,最后的那个中点的节点其实比或者不比较其实无所谓的。

Review

一道关于动态规划是算法题:
https://www.techiedelight.com/find-total-ways-to-reach-nth-stair/
给定一个楼梯,当一个人被允许一次爬1或2或3个楼梯时,找到从楼梯底部到达第n个楼梯的总数。
这道题给我思考,结合在LeetCode上的做的题目是思考,对动态规划的做法就是,你需要把已经获取的结果用一个正确的方法来存起来。至于到底使用一个数组,或者变量来存,就要根据实际的情况来做出判断了。

Tip/Tech

链表的倒转,虽然知道了怎么做,但是感觉还是理解的不够彻底,需要多加练习才行哦。

Share

优质的平庸
https://www.businessoffashion.com/articles/opinion/op-ed-how-premium-mediocre-conquered-fashion
奢侈品如何才能够用大众化的方式走进人们的生活,奢侈评判给出的答案是:“贴牌”。也许AJ不是人人都能买得起,但是一双耐克拖鞋还是不少人可以消费的。但是这个拖鞋一双一百多,能比一双20的拖鞋耐穿五六倍么,或者说一双20的拖鞋穿两年,那么耐克的拖鞋能穿10年么?其实很难的,毕竟材质的限制就摆在那里。更多时候公司就是干了个贴牌而已,而人们就是看中这些牌子。
还真的别说我还真的看到过腊月寒冬穿耐克拖鞋的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值