lintcode 56 两数之和

本文介绍了一个经典的算法问题——寻找整数数组中两数之和等于目标值的两个元素,并提供了一种简单易懂的双层循环解决方案。通过遍历数组,实现了对指定目标值的有效匹配。

1 问题描述

   

     给一个整数数组,找到两个数使得他们的和等于一个给定的数 target

你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。

样例

给出 numbers = [2, 7, 11, 15], target = 9, 返回 [1, 2].

2 解题思路

    这个题用两个for循环就可以完成。

3 解题代码

   class Solution {
public:
    /*
     * @param numbers : An array of Integer
     * @param target : target = numbers[index1] + numbers[index2]
     * @return : [index1+1, index2+1] (index1 < index2)
     */
    vector<int> twoSum(vector<int> &nums, int target) {
        // write your code here
        if(nums.size()==0) return vector<int> ();
        else
        {
            vector<int> A;
            int n=nums.size();
            for(int i=0;i<n;i++)
            {
                for(int j=i+1;j<n;j++)
                {
                    if(target==nums[j]+nums[i])
                    {
                        A.push_back(i+1);
                        A.push_back(j+1);
                    }
                }
            }
            return A;
        }
        
    }
};

4 解题感想

   这个题很简单 ,思路也很容易想得到。

虚拟机Ubuntu上通过USB摄像头快速显示画面,可参考以下方法: ### 安装必要驱动和工具 在Ubuntu18.04上安装USB摄像头驱动usb_cam有两种方式。 - **源码安装**:从GitHub下载usb_cam源码,切换到支持ROS1的master分支,并添加FFmpeg库路径到LD_LIBRARY_PATH来解决编译错误。操作步骤如下: ```bash mkdir -p catkin_ws/src cd catkin_ws/src git clone https://github.com/bosch-ros-pkg/usb_cam.git cd .. catkin_make source ./devel/setup.bash cd src/usb_cam mkdir build cd build cmake .. make ``` 打开文档 `ctrl + h` ,点击 `.bashrc` ,在末尾添加 `source ~/catkin_ws/devel/setup.bash` [^3][^4]。 - **软件包安装**:使用 `sudo apt-get` 命令安装ROS Melodic版本的usb_camcamera-calibration和uvc-camera功能包。 ```bash sudo apt-get install ros-melodic-usb-cam ros-melodic-camera-calibration ros-melodic-uvc-camera ``` ### 配置虚拟机USB设置 回到Windows主机,使用 `Win + R` 打开 `services.msc` ,启动 `VMware USB Arbitration Service` ,回车完成操作。重启虚拟机,在虚拟机选项找到可移动设备,找到摄像头设备(如IMC Networks Integrated Camera),点击连接 [^4]。 ### 启动摄像头显示画面 启动摄像头节点,在桌面打开终端,运行以下命令: ```bash roslaunch usb_cam usb_cam-test.launch ``` ### 使用GStreamer显示画面 若不想使用ROS框架,也可使用GStreamer工具显示画面。确保设备连接正常且权限足够,运行以下命令: ```bash gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=YUY2,width=640,height=480 ! xvimagesink ``` 这里 `/dev/video0` 为摄像头设备文件,需根据实际情况修改。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值