问题: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2
最长公共前缀 题目 简单思路 3个字符串的最长公共前缀一定被包含在前2个字符串的最长公共前缀之中,同理,N个字符串的前缀一定是其中(N-1)个字符串的最长公共前缀与第N个字符串的最长公共前缀。 代码实现 class Solution { public: string longestCommonPrefix(vector<strin
给定一个数组和一个目标值,在数组中找到两个数相加等于目标值。假设,数组中只有一对满足条件的数对。并返回这个数对的索引。 比如[3,3,4,1],target=6,数组中3和3相加为6, 所以返回[0,1] 难点:暴力循环容易解决,但是时间复杂度太高。 解决方法:空间换时间,用一个map把时间复杂度从O(n
package LeeCode; /** * @ClassName ToHex * @Description 给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。 * 注意: * 十六进制中所有字母(a-f)都必须是小写。 * 十六进制字符串中不能包含多余的前导零。如果要转化的数
【前言】可能看过我之前博客的朋友会发现这期有点不一样,hhhh,我怎么成标题党了???没有,而是想通过这个LeeCode简单题(可能平常我们都不屑一顾)来深入思考一些东西,有兴趣的朋友可以继续看下去。 【题目】169.多数元素 题目描述:给定一个大小为 n 的数组,找到其中的
题目: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例1: 输入: 121 输出: true 自己的做法: public boolean isPalindrome(int x) { String str; str = Integer.toString(x); StringBuilder sb = new StringBuilder(str);
1.两数之和 题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 num
力扣(LeeCode) 两数之和 JAVA 题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 给定 nums = [2, 7, 11, 15], target =
1.当对一个数组要求以O(n)的时间复杂度去实现的时候,大部分情况下需要对数组进行一下预处理,或者程序中包含多个O(n)的for循环 2.对数组的处理,如果需要用到之前数组的信息,也就是说后面更新的数组信息跟之前信息有关,处理方法往往是从无到有,比如从最左边开始往右递增,或者从最右边开
Leecode 35 ----- 搜索插入位置 题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。 如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 思路 二分查找 时间复杂度:O(log n)在这里插入代码片 左侧下标 left = 0; 右
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。 示例 1: 输入: nums = [1,2,3,1], k = 3 输出: true 示例 2: 输入: nums = [1,0,1,1], k = 1 输出: true 示例 3: 输入: nums = [1,2,3,1
最近在刷leecode题,记录一下刷题过程,话不多说,上题 198.打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。这道题主要用到思路是:滑动窗口class Solution { /** * @param String $s * @return Integer */ function lengthOfLongestSubstring($s) { $len = strlen($s); $sarr = str_split($s,1);
原文链接:Reverse Vowels of a String (Easy) Given s = “leetcode”, return “leotcede”. 思路:使用双指针指向待反转的两个元音字符,一个指针从头向尾遍历,一个指针从尾到头遍历。 /** * 3. 反转字符串中的元音字符 * aeiou * Given s = "leetcode", return "leo
题目介绍 题目:盛最多水的容器 描述:给定 n 个非负整数 a1, a2, …, an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n
两数之和 LeetCode的第一题可以说是开胃菜,它的难度还不至于吓退一个诚心要刷题的人,也能给新来的一点信心。就从它开始LeetCode之旅吧。 题目:两数之和 描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可
给定一个整数,将其转化为7进制,并以字符串形式输出。 示例 1: 输入: 100 输出: "202" 示例 2: 输入: -7 输出: "-10" class Solution(object): def convertToBase7(self, num): """ :type num: int :rtype: str """
leecode算法《104. 二叉树的最大深度》详解有注释,简单明了。 原题内容 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15
leecode算法《242. 有效的字母异位词》详解有注释,简单明了。 原题内容 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true 示例 2: 输入: s = “rat”, t = “car” 输出: false 说明: 你可
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode reverseList(ListNode head) { if(head ==
class Solution {public: int subarraySum(vector<int>& nums, int k) { int cur = 0, res = 0; unordered_map<int, int> um; // 注意这里前缀和多了一个0,防止漏掉数组的前缀和刚好等于k的情况 um[0] = 1; for (int num : nums) {
class Solution { public: int largestUniqueNumber(vector<int>& A) { map<int,int>F; for(auto p:A) F[p]++; for(auto ia=F.rbegin();ia!=F.rend();ia++) if(ia->second==1)return ia->first;
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。 题目比较简单,主要使用的是栈先进后出的结构特性。 class Solution {public: bool
20 有效括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()