Eighth Week's ARST

ARST

Algorithm: 每周一道Leetcode
Review: 每周阅读并点评至少一篇英文技术文章
Tip: 每周学习技术技巧
Share: 每周分享一篇有观点和思考的技术文章

A

Leetcode35–Search Insert Position
题目要求
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Example 1:

Input: [1,3,5,6], 5
Output: 2

Example 2:

Input: [1,3,5,6], 2
Output: 1

Example 3:

Input: [1,3,5,6], 7
Output: 4

Example 4:

Input: [1,3,5,6], 0
Output: 0

C++编写

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int len=nums.size();
        if(len==0||target<=nums[0])   return 0; //如果数组为空或者target小于数组的第一个数,则返回0
        if(target>nums[len-1])   return len;  //如果target大于数组里的每一个数,则返回len
        for(int i=0;i<len;i++)
        //将target与数组中的数依次比较大小,当小于等于其中一个数时,返回这个数的索引
        {
            if(target<=nums[i])
            {
                return i;
                break;
            }
        }
        return 0;
    }
};

这道题很简单,不过在这道题提交的时候有一个地方让我感觉很有趣,这个代码提交上去的话基本上Runtime是4ms;但是把for循环if语句里面的break这一行删掉之后,Runtime会慢至少一倍,基本上是8ms,甚至可能达到12ms。由于本人对这个C++理解尚浅,所以说呢如果有大神可以解释不妨评论一下,基于此我也上网查阅对return进行了更深的了解,下方将会提及到。

R

比特币会加速全球变暖吗?
这周看到一片有趣的文章,有关比特币的,上学期教Python的老师就跟我们提到过这个比特币的机制,当然当时也不太认真学习也没怎么听清楚,只是知道它就跟挖矿一样,当然比挖矿要难得多,它的开采成本非常大,会消耗很大的电量,也对电脑的配置要求比较高,目前比特币价值很高,因此很多人都在开采这个数字货币,据说有些学生都在开采比特币。但是由于目前的采矿技术还很低下因此能耗很高,对环境有相应的破坏。文章也提及到当采矿技术在未来提高效率时,事情也会发生相反的变化,导致价格降低和能耗降低。有兴趣的人当然也可以研究怎么样提高采矿效率,既可以提高自己的能力,也可以挖点比特币赚钱。

S

本周做了这道leetcode感觉自己对这个return得理解实在是不够,于是乎去别人的博客看了一看对return的讲述,讲得很细很全面,虽然是JS的,但是个人感觉对很多编程语言都适用
return的用法

T

上周谈了一下程序员为什么要学好数学,这周谈一下程序员要如何学数学
程序员应该怎么学数学

猜你喜欢

转载自blog.csdn.net/Slatter/article/details/90142441