长久养成的打卡习惯可千万不能丢呀

哎呀呀哎呀呀,没想到距离上一次打卡已经过去N天了,这N天有点难熬呀。一边赶着项目,一边又盯着留言,生怕有人催更,这不,昨天就有留言来催更了,哈哈哈哈。真的是想什么来什么。

简单说下这N天的状况哈,国庆去了趟西安,聆听了西安的历史,感觉棒棒哒。但是,西安和浙江国庆期间温度天壤之别,小编回到浙江之后,就华丽丽地躺下了。我平时也很注重锻炼的呀,每周的篮球,跑步都不间断,没想到还是没抗住,身体素质贼差,程序员果然还需要多动多动多动。

加上忙着准备项目的优化,重构还有一些琐事(我是真的努力地在找理由有木有)。今天重新打卡的感觉,别提有多好了,这件事,做久了,真的还是挺爽的。废话也不来了,赶紧的走起!

Algorithm LeetCode算法

二分查找
(https://leetcode-cn.com/problems/binary-search/)

题目描述:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。

示例1:

输入: nums = [-1,0,3,5,9,12], target = 9
输出: 4
解释: 9 出现在 nums 中并且下标为 4

示例2:

输入: nums = [-1,0,3,5,9,12], target = 2
输出: -1
解释: 2 不存在 nums 中因此返回 -1

提示

1. 你可以假设 nums 中的所有元素是不重复的。
2. n 将在 [1, 10000]之间。
3. nums 的每个元素都将在 [-9999, 9999]之间。
  1. 解题思路

小编一直觉得二分法没有学好,所以直接选定目标,标题就是二分法查找,以此来的锻炼下二分法的学习思路。

在做这个练习的时候,还学会了关于二分法的很多玄学。其实,二分法看起来很简单(是简单吧?),但是总是感觉自己会出错,还需要更多的调试才能得到答案。

参考Knuth大佬(KMP算法的那位)来说:Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky。简单翻译下就是:思路很简单,细节是魔鬼

这也从侧面反应了,我们平时也程序,需要注重细节的问题,尤其是算法题,很多边界问题,都是细节问题,你做的多了,就会明白了。

先来看下,二分法查找的基本框架,这个框架的参考,是来自题解区的一位写的,后面还有更精彩的关于二分法的介绍,在下文会说。先给出解决我们这个问题的基本框架:

int binarySearch(int[] nums, int target) {
    int left = 0, right = ...;

    while(...) {
        int mid = (right + left) / 2;
        if (nums[mid] == target) {
            ...
        } else if (nums[mid] < target) {
            left = ...
        } else if (nums[mid] > target) {
            right = ...
        }
    }
    return ...;
}

有了上面的框架,接下来就是根据框架,进行填鸭式题解:

public static int search(int[] nums, int target) {
    int left = 0;
    int right = nums.length - 1;

    while (left <= right) {
        int mid = (right + left) / 2;
        if (nums[mid] == target) {
            return mid;
        } else if (nums[mid] < target) {
            left = mid + 1;
        } else if (nums[mid] > target) {
            right = mid - 1;
        }

    }
    return -1;
}

是吧,照猫画虎的本事你总该会吧,根据这个框架,是不是很快就能找到题解了呢。

  1. 参考 https://leetcode-cn.com/problems/binary-search/solution/er-fen-cha-zhao-xiang-jie-by-labuladong/

上面的题解,很精彩是不是。主要还是参考了题解区的说明,不然小编也不能总结的如此之好。

其实,二分法还有几个基本场景:寻找一个数、寻找左侧边界、寻找右侧边界我们这里,用的是第一种,寻找一个数。后面两个场景,也有题目的,我们下次来攻克它。

感兴趣的,可以先看下https://leetcode-cn.com/problems/binary-search/solution/er-fen-cha-zhao-xiang-jie-by-labuladong/这里的说明,或者点击【阅读原文】去查看,先做个预习,好为我们的下次准备。

Review 阅读并点评至少一篇英文文章

Why SafeGraph Does Written Interviews (and Why Your Company Should Do Them Too)
(https://blog.safegraph.com/why-safegraph-does-written-interviews-and-why-your-company-should-do-them-too-bbe4b1afab90)

你是不是经常听到,现在的每个人都需要写作能力,无论你在什么岗位;你是否经常看到,很多通过写作而获得更好的工作的情形;你是否看到,身边写作能力好的,都混的不太差呢?

以前一直觉得只有在国内是这样的,但是,今天看完这个,才发现国外也是需要写作能力的。而且,他们的要求更狠,是在面试过程中加入写作,“在家里写下答案”。

通过“在家里写下答案”这个环节,面对面快问快答式的传统面试方法并不适用于多数职位(可能适用于销售);要考察基本的写作能力,写作是当代脑力劳动者沟通的主要手段。

文中还列举了为什么要写作的几个例子,比如

  • Written interviews give everyone in the company a baseline about the candidate
  • Written interviews help reduce the biases in favor of people that think fast on their feet that are inherent in live interviews

面试中,会遇到哪些面试官精心设计的问题呢

  • Expectations Questions.
  • Research Questions.
  • Thought Questions.

最后,还提到一点,面试者也可以向公司提问。其实,现在很多流程也是这样的,当你在和HR聊的这个环节,就可以准备几个自己精心想过的问题,以此来更好的了解你所面试的公司。这个,国外也是如此噢。

该篇说了,书面面试,也是一种选拔的方式,掺杂在面试的环节里面。那平时注重写作的同学,在这个环节肯定是高人一等了,相对来说那就是能更接近offer一步,所以,你还在犹豫什么,赶紧写作起来。

需要帮助,需要我帮你审核的,我都可以啊,好歹我也是上过专业的写作课,做过专业的练习呢。如果你还没开始写作,那么请你从现在开始,走起吧!

Tip 一个技术技巧

这次,还是延续之前Linux的常用命令,先前已经到了15,今天继续16-20的分享。

  1. bzip2 创建*.bz2压缩文件
$ bzip2 test.txt
解压*.bz2文件

bzip2 -d test.txt.bz2
  1. uzip 解压*.zip文件
$ unzip test.zip
查看*.zip文件的内容

$ unzip -l jasper.zip
Archive:  jasper.zip
Length     Date   Time    Name
-------- -------- ------- ----------
40995  11-30-98 23:50   META-INF/MANIFEST.MF
32169  08-25-98 21:07   classes_
15964  08-25-98 21:07   classes_names
10542  08-25-98 21:07   classes_ncomp
  1. shutdown 关闭系统并立即关机
$ shutdown -h now
10分钟后关机

$ shutdown -h +10
重启

$ shutdown -r now
重启期间强制进行系统检查

$ shutdown -Fr now
  1. ftp ftp命令和sftp命令的用法基本相似连接ftp服务器并下载多个文件
$ ftp IP/hostname
ftp> mget *.html
显示远程主机上文件列表

ftp> mls *.html -
/ftptest/features.html
/ftptest/index.html
/ftptest/othertools.html
/ftptest/samplereport.html
/ftptest/usage.html
  1. crontab 查看某个用户的crontab入口
$ crontab -u john -l
设置一个每十分钟执行一次的计划任务

/10    * /home/ramesh/check-disk-space

Share 一篇有观点和思考的技术文章

设计模式走起来。

公众号地址:
设计模式之迭代器与组合模式(四)

「奔跑吧攻城狮」感谢大家的关注,现在后台回复「设计模式」赠你小编精心挑选设计模式书籍。小编想打造一个高质量交流群,回复「加群」即可解锁,也可直接微信(xuyue4087)私聊解锁。

本文由博客一文多发平台 OpenWrite 发布!

原文地址:https://www.cnblogs.com/dimple91/p/11691344.html

时间: 2024-11-14 12:34:54

长久养成的打卡习惯可千万不能丢呀的相关文章

养成良好的学习习惯-浅谈学习方法(1)

1.老男孩教育要培训什么? 思想技术 知识 2.养成良好的学习习惯和听课习惯 1)带一支笔和本,记录老师讲解的内容 2  总结时 ,记录关键的信息,抓重点 3) 听课习惯:调动所有感官学习 眼睛看.勤动手(记录和操作).勤思考 4)听课跟上进度 5)课上内容实践和老师保持高度 (软件技术.系统版本.配置路径)先跑通  再连通 二.学好Linux运维四要素 1.设定目标 例:哈佛大学四类人成就了四种不同的人生 给自己定一个目标, 2.掌握方法 1)最有效和最快的学习方法就是向有经验的人学习 2)和

如何养成良好的工作习惯和编码习惯

时间过得真快,看到空间中各种毕业照,突然意识到离校已经一年了,回顾这一年 生活上:积蓄没攒下,还欠了一屁股债,一直在温饱线上挣扎 工作上:基础比较薄弱,一年了没太大长进,工作方式没有条理性和系统性 一年了,一直在埋头向前走,到头来去发现一直在原地打转,是该停下来想一想了... 作为一名开发人员,技术水平是立足之本,如何提高技术水平,并体现在工作中成为了我的第一阶段目标 以下是一些想法,供自己参考 暴露的问题(前辈) (1)工作方式不成熟 (2)技术进步不大,基础比较薄弱 (3)自我认识不准确 自

养成一个SQL好习惯带来一笔大财富

我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我么还能保证下一段时间系统还能流畅的运行吗?那么还能保证下一个人能看懂我么的存储过程吗?那么我结合公司平时的培训和平时个人工作经验和大家分享一下,希望对大家有帮助. 要知道sql语句,我想我们有必要知道sqlserver查询分析器怎么执行我么sql语句的,我么很多人会看执行计划,或者用profile来监视和调优查询语句或者存储过程慢的原因,但是如果

请大家规范电子邮件用法养成好的邮件习惯

hi,all: 看到一篇好的文章,分享给大家,请大家认真阅读思考,里面提到的问题,有则改之,无则加勉,养成好的使用邮件习惯,因为很多客户是通过你的邮件了解你,了解公司.以下: 你有没有收到过这样的电子邮件?发件人叫“还好只是近黄昏”,邮件的标题是:“你好!”你觉得,这一定是漏网的垃圾邮件,但还是打开看了一眼,发现居然是供应商的方案和报价.你找了半天,没有方案,也没有报价啊?回信问.他说:啊!忘了添加附件了.我再发一遍. 你会怎么看待这位供应商? 如果是我,能不合作,就不要合作了.太不靠谱.   

养成领袖风格与习惯

一个人之所以能成功,一个人之所以与众不同,是看他的性格.习惯.行为和内在驱动力,这往往决定一个人成就的大小,你要想做一个成功的人,成为别人尊重的人,那就坚持和养成以下22种习惯与风格,长此以往,将大获成功. 1.订目标,达目标 学会每年.每月.每周.每天给自己制定一个切实可行的目标,自己看到就能兴奋,坚信自己一定能完成的目标,并尽自己最大的努力去实现,天天坚持着做,一年后,三年后,五年后,你将会积累一个大大的.成功的目标,并自己为之骄傲. 2.尽可能多的帮助他人成功 帮助一个人,需要有付出的心态

正位瑜伽垫如“田”字格,助练习者养成良好的瑜伽习惯!

最近有些教练认为练习瑜伽不需要正确,更不需要精准,对此我作保留意见,也为此明白为什么有那么多人因为练习瑜伽而受伤了. 今日看了一篇关于小学生如何学习写好字的文章,标题是<孩子为什么"写字"难看?原因是不知道田字格里写字的标准!>,其中各种好处我就不用多说,给我印象最深刻的一个是:有助于孩子形成好的学习习惯,相信每一位生为人母(父)都希望自己的孩子从小养成一个好的学习习惯.但为什么对于自己学习新的事物时可以那么任性,可以不学习标准就随意挥洒,凭感觉行事.难道是觉得自己在这方面

要养成良好的编程习惯:就是要加上默认的父类无参的构造方法

Super()表示调用父类的构造方法. Super()也和this一样必须放在第一行. This()用于调用本类的构造方法. 如果没有定义构造方法,那么就会调用父类的无参构造方法,即super(). 要养成良好的编程习惯:就是要加上默认的父类无参的构造方法. 思考:可是如果我们没有定义无参的构造方法,而在程序中构造了有参的构造方法,那么如果方法中没有参数,那么系统还会调用有参的构造方法么?应该不会. 1 package TomText; 2 3 public class TomText_18 {

养成一个好的习惯

第三章 习惯一:积极主动 --个人愿景的原则 人性本质是主动而非被动的,不仅能消极选择反应,更能主动创造有利环境. 采取主动并不表示要强求.惹人厌或具侵略性,只是不逃避为自己开创前途的责任. 最令人鼓舞的事实,莫过于人类确实能主动努力以提升生命价值. --梭罗(Henry David Thoreau),美国文学家及哲学家 现在请尝试跳出自我,把意识转移到室内屋顶的某个角落.然后以客观的角度,观察你阅读本书的情况.你能够把自己当作一个不相干的人来观察吗? 再换个方式,想一想现在的心情如何,你能够用

每天养成24个好习惯,日积月累你会发现受益无穷

引导语:"我们先养成好习惯,然后好习惯成就我们."这是17世纪英国着名诗人约翰·德莱顿的一句名言.日积月累,好习惯会让你受益无穷.每天的24个好习惯让我们受益无穷! 早晨 1.早起.在床上做套热身操再起. 2.锻炼.每天坚持晨练并不难. 3.评估自己的目标.想想自己离近期.中期和长期目标还有多远. 4.阅读或聆听励志材料.在早晨通过阅读励志书籍或播放有声读物的方法,能让自己充满积极的力量. 5.想象.闭上眼睛,花几分钟想象一下一天中发生的好事情. 6.列一份任务清单.每完成一项就在上面划一条横线