target

1. LeetCode两数之和

不问归期 提交于 2020-03-06 11:37:52
题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解法 1.暴力破解(时间换空间) 最先想到的也是最简单的就是暴力破解,暴力破解采用两个for循环,第一个循环来遍历所有的数字,第二个循环在以第一个数字为基准上遍历剩下的数字,直到找到相应的元素。 2.map映射(空间换时间) 只遍历一遍数组,数组里的数字都会存在一个映射表map中,在这一次的遍历中,既将没有在表中的数字push进去,同时也查找是否有匹配的数字。 /** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function ( nums , target ) { let hashmap = new Map ( ) ; for ( let i = 0 ; i < nums . length ; i ++ ) { let j = target - nums [ i ] ;

LeeCode每日一题--两数之和

若如初见. 提交于 2020-03-06 10:25:18
  【前言】坚持日更LeeCode刷题系列       不积跬步,无以至千里;不积小流,无以成江海。愿与诸君共勉!   【题目】1.两数之和   题目描述:给定一个整数数组 nums 和一个目标值 target ,请你在该数组中找出和为目标值的那 两个整数 ,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。   示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]   思路一:通过两层for循环,因为不能使用数组中同样的元素,第一层从头遍历到尾部元素减一,第二层遍历从第一层的 i 值遍历到尾。代码如下: class Solution ( object ) : def twoSum ( self , nums , target ) : """ :type nums: List[int] :type target: int :rtype: List[int] """ index = [ ] for i in range ( len ( nums ) - 1 ) : for j in range ( i , len ( nums ) ) : if ( i < j and nums [ i ] + nums [ j ] =

Bootstrap图片轮播

六眼飞鱼酱① 提交于 2020-03-06 07:42:55
前面的话   图片轮播效果在Web中常常能看到,很多人也称之为幻灯片。其主要显示的效果就是多幅图片轮流播放。鼠标悬停在图片时会暂停播放,如果鼠标悬停或单击右下角圆点时,会显示对应的图片。这种图片轮播效果,在Bootstrap框架中是通过Carousel插件来实现的。本文将详细介绍Bootstrap图片轮播 结构   一个轮播图片主要包括三个部分:    ☑ 轮播的图片   ☑ 轮播图片的计数器   ☑ 轮播图片的控制器   复杂一点的轮播图片,每个轮播区会带有对应的标题和描述内容。那么在 Bootstrap 框架中,轮播图是如何设计的呢?   第一步:设计轮播图片的容器。在 Bootstrap 框架中采用 carousel 样式,并且给这个容器定义一个 ID 值,方便后面采用 data 属性来声明触发 <div id="slidershow" class="carousel"></div>   第二步:设计轮播图片计数器。在容器 div.carousel 的内部添加轮播图片计算器,采用 carousel-indicators 样式,其主要功能是显示当前图片的播放顺序(有几张图片就放置几个li),一般采用有序列表来制作: <div id="slidershow" class="carousel"> <!-- 设置图片轮播的顺序 --> <ol class="carousel

刻意练习:LeetCode实战 -- Task05. 最接近的三数之和

时光毁灭记忆、已成空白 提交于 2020-03-06 03:22:57
背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务。本期训练营采用分类别练习的模式,即选择了五个知识点(数组、链表、字符串、树、贪心算法),每个知识点选择了 三个简单、两个中等、一个困难 等级的题目,共计三十道题,利用三十天的时间完成这组刻意练习。 本次任务的知识点:数组 数组 是在程序设计中,为了处理方便,把具有相同类型的若干元素按有序的形式组织起来的一种形式。抽象地讲,数组即是有限个类型相同的元素的有序序列。若将此序列命名,那么这个名称即为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素。而用于区分数组的各个元素的数字编号则被称为下标,若为此定义一个变量,即为下标变量。 题目 给定一个包括 n 个整数的数组 nums 和一个目标值 target 。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 示例 : 例如,给定数组 nums = [ - 1 , 2 , 1 , - 4 ] , 和 target = 1. 与 target 最接近的三个数的和为 2. ( - 1 + 2 + 1 = 2 ) . 算法实现 第一种:利用暴力算法 状态:通过 125 / 125 个通过测试用例 执行用时: 680 ms, 在所有 C# 提交中击败了 12.07%

打卡第五天:最接近的三数之和

本秂侑毒 提交于 2020-03-06 01:11:22
一、题目 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). 二、代码实现 解题思路: (1)标签:排序和双指针 (2)本题目因为要计算三个数,如果靠暴力枚举的话时间复杂度会到 O(n^3),需要降低时间复杂度 (3)首先进行数组排序,时间复杂度 O(nlogn) (4)在数组 nums 中,进行遍历,每遍历一个值利用其下标i,形成一个固定值 nums[i] (5)再使用前指针指向 start = i + 1 处,后指针指向 end = nums.length - 1 处,也就是结尾处 (6)根据 sum = nums[i] + nums[start] + nums[end] 的结果,判断 sum 与目标 target 的距离,如果更近则更新结果 ans (7)同时判断 sum 与 target 的大小关系,因为数组有序,如果 sum > target 则 end–,如果 sum < target 则 start++,如果 sum == target 则说明距离为 0 直接返回结果

LEETCODE打卡05

蓝咒 提交于 2020-03-06 01:10:07
Leetcode 打卡Day5 最接近的三数之和(python) 题目: 解答: class Solution : def threeSumClosest ( self , nums : List [ int ] , target : int ) - > int : n = len ( nums ) nums . sort ( ) a = nums [ 0 ] + nums [ 1 ] + nums [ 2 ] b = nums [ n - 1 ] + nums [ n - 2 ] + nums [ n - 3 ] if n == 3 : return sum ( nums ) for i in range ( n ) : if i > 0 and nums [ i ] == nums [ i - 1 ] : i += 1 continue l = i + 1 r = n - 1 while l < r : threeSum = nums [ i ] + nums [ l ] + nums [ r ] ere = threeSum - target if ere == 0 : return threeSum elif ere < 0 : if threeSum >= a : a = threeSum l += 1 else : if threeSum <= b : b =

android system setup and building (2)

别说谁变了你拦得住时间么 提交于 2020-03-06 00:45:27
Configuring a New Product http://source.android.com/porting/build_new_device.html Detailed Instructions 下面步骤描述怎样为一个新的移动设备及产品使用makefiles配置Android运行系统。 1.在//vendor/目录下创建一个公司目录. mkdir vendor /< company_name > 2.在上面创建的公司目录下(beneath)创建产品(products)目录 mkdir vendor /< company_name >/ products / 3.创建特定产品的makefile。命名为vendor/<company_name>/products/<first_product_name>.mk。这个文件至少要包含如下代码: $(call inherit - product, $(SRC_TARGET_DIR) / product / generic.mk) # # Overrides PRODUCT_NAME : = < first_product_name > PRODUCT_DEVICE : = < board_name > 4.另外一些特定产品的变量定义可以添加到这个产品定义(Product Definition:下面有详细说明)文件(3中说的)。 5

[LeetCode] 81. Search in Rotated Sorted Array II

◇◆丶佛笑我妖孽 提交于 2020-03-05 23:23:23
今天面试遇到这道题了。当场很勉强做出来,但是事后想想好多细节还是没有想清楚。 希望本次记录彻底解决本题。 首先,这道题如果没有重复元素,且只是判断是否能找到 target,那么很简单: while(start + 1 < end){ mid = start + (end - start) / 2; if(nums[mid] == target) return true; if(nums[mid] > nums[start]){ // mid 处于前一线段 if(nums[start] <= target && target < nums[mid])// 注意一定是 nums[start] <= target end = mid; else start = mid; } else{ // nums[mid] < nums[end] if(nums[mid] < target && target <= nums[end])// 注意这一一定是 target <= nums[end] start = mid; else end = mid; } } 唯一需要注意的就是 nums[start] 和 nums[end] 有可能直接等于 target,一定要考虑这种情况,否则会移错区间。比如当 nums[start] == target,但是代码为 if(nums[start] <

LeetCode刻意练习05--最接近的三数之和

て烟熏妆下的殇ゞ 提交于 2020-03-05 23:01:03
最接近的三数之和 题目: 给定 一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。 返回 这三个数的和。假定每组输入只存在唯一答案。 思路: 1.将给定的数组进行排序 2.遍历数组,并且将第一个元素置为nums[i] 3.定义两个指针,左指针为 i+1,右指针为数组最后一个元素的下标。 4.看他们的和,如果他们的和比我们想要的和小,那么左指针右移,如果比我们想要的大,那么右指针左移。如果有更接近的三数之和,那么我们更新sum 优化: 去除重复元素 public int threeSumClosest ( int [ ] nums , int target ) { Arrays . sort ( nums ) ; // int closest_num=10000; int closest_num = nums [ 0 ] + nums [ 1 ] + nums [ 2 ] ; for ( int i = 0 ; i < nums . length - 2 ; i ++ ) { int l = i + 1 , r = nums . length - 1 ; while ( l < r ) { int sum = nums [ l ] + nums [ r ] + nums [ i ] ; if (

Task5——最接近的三数之和

半腔热情 提交于 2020-03-05 22:28:45
前言: 本题采用C#编程。 题目: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). 解题: public class Solution { public int ThreeSumClosest(int[] nums, int target) { int ret = nums[0] + nums[1] + nums[2]; Array.Sort(nums); int l, r; for (int i = 0; i < nums.Length - 2; i++) { l = i + 1; r = nums.Length - 1; while (l < r) { int sum = nums[i] + nums[l] + nums[r]; if(Math.Abs(sum - target)<Math.Abs(ret - target)) { ret = sum; } if (sum > target) { r--; } else if (sum < target) { l++; }