小刘在力扣刷题第三天:搜索插入算法 and 最后一个单词的长度

120 阅读1分钟

1-搜索插入算法: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。

暴力解:

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number}
   */
   var searchInsert = function(nums, target) {
   for(let i = 0;i < nums.length;i++){
       if(target < nums[i]) return 0
       if(target === nums[i]) return i
       if(target > nums[i] && target < nums[i+1]) return i+1
   }
   return nums.length
   };

三个if判断就可以得出要插入的位置

2-最后一个单词的长度 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

 /**
     * @param {string} s
     * @return {number}
       */
       var lengthOfLastWord = function(s) {
    s = s.trim()
    s = s.split(" ")
    s = s[s.length-1]
    return s.length
    };

trim()函数去除首尾空格 split()函数将字符串按空格分类,并输出数组

总结:

今天上午参观了京东亚洲一号园区;

中午去了麓谷产业园就餐,参观交流;

下午去京东城市数字经济产业园;

看到了京东物流一整套的全自动化快递分配,还是第一次见识到人工智能,机器人已经真正的运行到现实生活中。😊😊今天写的两道题也觉得而不是很难,每天都在进步,真好😁😁