LeetCode
heda3
从事嵌入式开发10年+,国内某一流研究所的研究生,新一代信息技术工程师职称,申请撰写发明专利15项/授权8项,发表中英文期刊2篇。目前从事嵌入式系统、算法开发及管理,持续分享嵌入式驱动、操作系统、上位机软件、算法等开发过程中遇到的问题、解决方法及知识点
展开
-
LeetCode 367. 有效的完全平方数 --数组--二分查找--简单
类似博文(99%)LeetCode 69. Sqrt(x)--(数组)--二分法查找 --简单题目描述:给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False参考链接:https://l...原创 2020-01-22 22:05:45 · 448 阅读 · 0 评论 -
LeetCode 441. 排列硬币 --数组--二分法 --简单
题目描述:你总共有n枚硬币,你需要将它们摆成一个阶梯形状,第k行就必须正好有k枚硬币。给定一个数字n,找出可形成完整阶梯行的总行数。n是一个非负整数,并且在32位有符号整型的范围内。示例 1:n = 5硬币可排列成以下几行:¤¤ ¤¤ ¤因为第三行不完整,所以返回2.示例 2:n = 8硬币可排列成以下几行:¤¤ ¤¤ ¤ ¤¤...原创 2020-01-22 21:53:17 · 413 阅读 · 0 评论 -
LeetCode374. 猜数字大小 --数组--二分法--简单
题目描述:我们正在玩一个猜数字游戏。 游戏规则如下:我从1到n选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口guess(int num),它会返回 3 个可能的结果(-1,1或 0):-1 : 我的数字比较小1 : 我的数字比较大0 : 恭喜!你猜对了!示例 :输入: n = 10...原创 2020-01-22 21:36:05 · 830 阅读 · 1 评论 -
LeetCode136. 只出现一次的数字--数组--简单
题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4参考:https://leetcode-cn.com/problems/single-numbe...原创 2020-01-22 21:20:35 · 263 阅读 · 0 评论 -
LeetCode 350--两个数组的交集 II --数组--简单
https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/submissions/解题思路:1、哈希表1)一个数组 创建为哈希表, 记录键:元素 值:元素出现的次数2)另一个数组利用O(1)时间查找,若出现则次数减去13)输出新结果放入数组内//C++class Solution {publ...原创 2020-01-21 22:17:14 · 194 阅读 · 0 评论 -
LeetCode 349- 两个数组的交集--简单
题目描述:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。...原创 2020-01-18 21:49:45 · 227 阅读 · 0 评论 -
LeetCode 26 -删除排序数组中的重复项 --数组-双指针--简单
类似题目:LeetCode27 移除元素 --数组--双指针--简单(移除指定目标元素)而本题是数组中相同的元素解题思路:需要原地删除,不需要大于O(1)的空间,那么如何不全部向前移动,而是前后的两个元素比较并覆盖?双指针解法:一个慢指针和一个快指针,i为慢指针,j为快指针,当nums[i]==nums[j],增加j跳过重复项当nums[i]!=nums[j]时...原创 2020-01-12 22:11:05 · 223 阅读 · 0 评论 -
LeetCode27 移除元素 --数组--双指针--简单
题目描述:解题思路1)双指针1)慢指针和快指针同时指向同一位置2)快指针和var比较若不相等则慢指针增加,在不相等的情况下快指针指向的值拷贝给慢指针指向的值3)相等则慢指针不增加,快指针增加//javaclass Solution { public int removeElement(int[] nums, int val) { i...原创 2020-01-12 21:43:01 · 206 阅读 · 0 评论 -
LeetCode50 Pow(x, n)--数组--二分法查找--中等
相关博文:LeetCode35. 搜索插入位置 --(数组)--二分法查找-- 简单LeetCode 69. Sqrt(x)--(数组)--二分法查找 --简单题目描述:实现pow(x, n),即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输...原创 2020-01-12 17:18:58 · 234 阅读 · 0 评论 -
LeetCode 69. Sqrt(x)--(数组)--二分法查找 --简单
类似博文:LeetCode35. 搜索插入位置 --(数组) 简单(二分法查找)--总结题目描述Implementint sqrt(int x).Compute and return the square root ofx, wherexis guaranteed to be a non-negative integer.Since the return typeis a...原创 2019-03-16 19:13:16 · 371 阅读 · 0 评论 -
LeetCode35. 搜索插入位置 --(数组)--二分法查找-- 简单
解题思路经典的二分法查找,通过题目解析可知查找的元素位置为:查找中间值大于等于目标值的第一个元素索引参考[1]//javaclass Solution { public int searchInsert(int[] nums, int target) { int len = nums.length; if (nums[le...原创 2020-01-12 16:31:13 · 320 阅读 · 0 评论 -
LeetCode167. 两数之和 II - 输入有序数组--双指针-- 简单
题目描述:给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 1...原创 2020-01-12 16:08:07 · 272 阅读 · 0 评论 -
LeetCode2 两数相加(链表)
描述 :C++:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:...原创 2019-12-29 22:40:37 · 254 阅读 · 0 评论 -
LeetCode1--两数之和 (数组)
题目描述:解题思路:1、暴力破解法1)两个循环分别遍历数组的两两值2)求和==目标值3)返回索引C++实现class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int i,j; for(i=0...原创 2019-12-29 22:05:19 · 322 阅读 · 0 评论