LeetCode
本专栏收录本人在LeetCode上所遇到的一些比较有意思的算法题目。
丨养猪大户丨
兔子拼命跑,乌龟怎么办
展开
-
动态规划之——跳跃游戏V
题意:给你一个整数数组 arr 和一个整数 d 。每一步你可以从下标 i 跳到:i + x ,其中 i + x < arr.length 且 0 < x <= d 。i - x ,其中 i - x >= 0 且 0 < x <= d 。除此以外,你从下标 i 跳到下标 j 需要满足:arr[i] > arr[j] 且 arr[i] > ar...原创 2020-04-25 15:17:40 · 401 阅读 · 0 评论 -
链表和数组的二路归并排序
归并排序(Merge Sort)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。归并排序的具体做法:把原序列不断地递归等分,直至每等份只有一个元素,此时每等份都是有序的。相邻等份合并,不断合并,直至合并完全。二路归并归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and ...原创 2020-04-24 21:13:15 · 692 阅读 · 0 评论 -
组合总数问题——LeetCode 39 40
题意:给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入: candidates = [2,3,6,7], target = 7,所...原创 2020-04-20 22:02:35 · 167 阅读 · 0 评论 -
统计字符串中出现次数最多的单词
题意令“单词”定义为大小写字母和数字的组合,给出一个字符串,问出现次数最多的单词机器出现的次数(一切除了大小写字母和数字之外的字符都作为单词的分隔符),其中字母不区分大小写,且最后按照小写字母输出。思路:从给定的字符串中分割出“单词”,计数出现次数最多的单词(用map实现)#include<iostream>#include <string>#incl...原创 2020-04-19 10:23:22 · 2350 阅读 · 0 评论 -
背包问题
之前看《算法笔记》的时候发现背包问题那里有点难懂,近日看到好多题目都和背包问题有关,特此整理一下:1 01背包问题1.1 问题描述:有n件物品,每件物品的重量是w[i],价值为c[i]。现在有一个容量为V的包,问如何选择物品放入背包中,使得背包中的物品的总价值最大。其中每个物品都只有一件。注意到,01背包问题的“01”也就体现在每个物品只有一件。1.2 基本思路:如果采用暴力枚举的...原创 2020-04-18 21:44:07 · 267 阅读 · 0 评论 -
链表中每两个节点交换位置
LeetCode上的一道两两交换链表节点的题目:如下给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.使用迭代法求解时遇到了一个想了一晚上的问题,记录如下:首先,官方给出的题解如下:/**...原创 2020-04-14 21:48:29 · 4563 阅读 · 0 评论 -
判断一个数字是否是回文数
题意:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。原创 2020-04-14 12:30:26 · 1150 阅读 · 0 评论