LeetCode
殷若拙。
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
53. 最大子序和(未完)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。int maxSubArray(int* nums, int numsSi...原创 2019-12-25 10:27:11 · 154 阅读 · 0 评论 -
198.打家劫舍(动态规划)
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号...原创 2019-12-24 16:54:34 · 105 阅读 · 0 评论 -
191. 位1的个数(与操作和翻转1的技巧)
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。1.cout+=最后一位&1时间复杂度:O(1)O(1) 。运行时间依赖于数字 nn 的位数。由于这题中 nn 是一个 32 位数,所以运行时间是 O(1)O(1) 的。空间复杂度:O(1)O(1)。没有使用额外空间。int hammingWeight(uint32_t n) {...原创 2019-12-19 14:52:24 · 229 阅读 · 0 评论 -
70. 爬楼梯(动态规划)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。方法:第 ii 阶可以由以下两种方法得到:在第 (i-1)(i−1) 阶后向上爬一阶。在第 (i-2)(i−2) 阶后向上爬 22 阶。所以f(x)=f(x-1)+f(x-2)****用数组保存f(1)、f(2)…f(x-1)、f(x-2...原创 2019-12-19 10:52:01 · 140 阅读 · 0 评论 -
121. 买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是...原创 2019-12-19 08:42:06 · 112 阅读 · 0 评论 -
448. 找到所有数组中消失的数字
//标记法:有的数字对应数组的下表做标记/**Note: The returned array must be malloced, assume caller calls free()./int findDisappearedNumbers(int* nums, int numsSize, int* returnSize){int index,p=0;if(nums==NULL) r...原创 2019-12-17 15:50:22 · 147 阅读 · 0 评论 -
283.移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣网络所有。商业转载...原创 2019-12-17 14:05:11 · 100 阅读 · 0 评论 -
21.合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists著作权归领扣网...原创 2019-12-17 13:26:59 · 127 阅读 · 0 评论 -
141.环形链表
/**Definition for singly-linked list.struct ListNode {int val;struct ListNode *next;};/bool hasCycle(struct ListNode head) {struct ListNodequick;struct ListNodelow;quick=head;low=hea...原创 2019-12-17 11:27:23 · 112 阅读 · 0 评论 -
169. 求众数
暴力:int majorityElement(int* nums, int numsSize) {int i, j,count=0;for (i = 0; i < numsSize; i++) {count = 0;for (j = 0; j < numsSize; j++){ if (nums[i] == nums[j]) count++; if (coun...原创 2019-11-16 09:58:51 · 142 阅读 · 0 评论 -
4. 136. 只出现一次的数字
int singleNumber(int* nums, int numsSize) {int i = 0, j = 0;for (; i < numsSize; i++) {for ( j=0; j < numsSize; j++) {if ((nums[i] == nums[j])&&(i!=j))break;if (j == (numsSize - 1)...原创 2019-11-15 16:24:51 · 96 阅读 · 0 评论 -
3. 461. 汉明距离
#include"stdio.h"int hammingDistance(int x, int y) {int xor_number = x ^ y;int count = 0;while (xor_number > 0) {count += xor_number & 1;xor_number = xor_number >> 1;}return count...原创 2019-11-15 15:41:04 · 109 阅读 · 0 评论 -
2. 383. 赎金信
给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruct(“a”, “b”) -...原创 2019-11-08 11:40:51 · 100 阅读 · 0 评论 -
1.LeetCode宝石与石头(简单)
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = “aA”, S = “aAAbbbb”输出: 3示例 2:输入: J = “z”, S = “ZZ”输出: ...原创 2019-11-08 09:32:57 · 237 阅读 · 0 评论
分享