[刷题] 1 Two Sum】的更多相关文章

1. Two Sum 两数之和 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same element twice. Example: Given nums…
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 / \ 2 3…
要求 给出一棵二叉树及一个数字sum,判断这棵二叉树上存在多少条路径,其路径上的所有节点和为sum 路径不一定始于根节点,终止于叶子节点 路径要一直向下 思路 分情况讨论:根节点在路径上(8) / 根节点不在路径上(9-10) 递归嵌套递归 实现 1 class Solution { 2 public: 3 int pathSum(TreeNode* root, int sum) { 4 5 if( root == NULL ) 6 return 0; 7 8 int res = findPat…
要求 给出一个二叉树及数字sum,判断是否存在一条从根到叶子的路径,路径上的所有节点和为sum 实现 转化为寻找左右子树上和为 sum-root 的路径,到达叶子节点时递归终止 注意只有一个孩子时,根节点本身不构成一条路径,如下图sum=5的情况,终止条件是不对的 1 class Solution { 2 public: 3 bool hasPathSum(TreeNode* root, int sum) { 4 5 if( root == NULL ) 6 return false; 7 8…
要求 给出一个整型数组nums 返回这个数组中两个数字的索引值i和j 使得nums[i]+nums[j]等于一个给定的target值 两个索引不能相等 实例 nums=[2,7,11,15], target=9 返回[0,1] 细节 索引从0还是从1开始计算 没有解怎么办 有多个解怎么办 思路 暴力解法(n2) 排序后,使用双索引对撞(nlogn+n=nlogn) 查找表,将所有元素放入查找表,对每一个元素a,查找target-a是否存在(n) 不要一次性将元素全部放入查找表中,相同元素会覆盖…
要求 升序数组 找到两个数使得它们相加之和等于目标数 函数返回两个下标值(下标从1开始) 示例 输入:numbers = [2, 7, 11, 15], target = 9 输出:[1,2] 思路 双重遍历(n2) 遍历+二分搜索(nlogn) 遍历,对撞指针(n) 利用升序数组 头尾两个索引 相加大于目标值,移动尾索引 相加小于目标值,移动头索引 代码 1 class Solution{ 2 public: 3 vector<int> twoSum(vector<int>&am…
由于深深的知道自己是事件驱动型的人,一直想补强自己的薄弱环节算法,却完全不知道从哪里入手.所以只能采用最笨的办法,刷题.从刷题中遇到问题就解决问题,最后可能多多少少也能提高一下自己的渣算法吧. 暂时的目标是一周最少两道,可能会多做多想,工作再忙也会完成这个最低目标. Two sum: Given an array of integers, return indices of the two numbers such that they add up to a specific target. Y…
一.题目说明 题目64. Minimum Path Sum,给一个m*n矩阵,每个元素的值非负,计算从左上角到右下角的最小路径和.难度是Medium! 二.我的解答 乍一看,这个是计算最短路径的,迪杰斯特拉或者弗洛伊德算法都可以.不用这么复杂,同上一个题目一样: 刷题62. Unique Paths() 不多啰嗦,直接代码,注释中有原理: #include<iostream> #include<vector> using namespace std; class Solution{…
---恢复内容开始--- 参考博客: https://www.cnblogs.com/grandyang/p/4130379.html https://blog.csdn.net/weixin_38715903/article/details/80483609 为了吃饭,于是就开启了leetcode的刷题之旅.其实应该在暑假就开始的,奈何个人太懒惰了,在此进行自我的检讨. 说回正题,leetcode和之前刷的oj的格式感觉不大一样,一开始看的时候感觉很不适应,但后来其实弄清楚门路了就还好.只要把…
题目描述 刷题是每个ACMer必由之路,已知某oj上有n个题目,第i个题目小X能做对的概率为Pi(0<=Pi<=1,1<=i<=n) 求小X至少做对k道题的概率 输入 第一行输入一个正整数t,(t<=20),表示有t组测试样例. 第二行输入正整数n,k,(1<=n,k<=1000) 第三行输入n个小数,分别为Pi(1<=i<=n,0<=Pi<=1),表示小X做对第i个题目的概率. 输出 输出小X至少做对k道题的概率,并换行(保留4位小数)…