自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 二维背包动态规划问题——两个约束

问题需求:跟定多个区域,一个区域拥有固定的收派件量,需要分配小哥进行收派,每个小哥有收派量上限,以及保底成本,当一个区域的收派量没有全部完成,剩余的件会有相应的惩罚成本目标:调度使成本最小由于涉及三维度的优化问题,此篇主要记录单个区域调度最优情况,类比二维背包问题,两个约束,dp初始化为成本最大值,放入小哥的value为小哥的节约成本,并打印出分配结果。import pandas as pdimport jsonimport gcdf_xiaoge = pd.read_csv("./小

2020-12-08 10:09:16 973

原创 Leedcode 每日一题——字符串的排序

给定两个字符串s1和s2,写一个函数来判断s2是否包含s1的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2:输入: s1= "ab" s2 = "eidboaoo"输出: False注意:输入的字符串只包含小写字母 两个字符串的长度都在 [1, 10,000] 之间自己原先想的是,求出...

2020-07-04 04:22:38 146

原创 Leedcode 每日一题 —— 最大子序和

给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。提交代码:动态规划,最基本的题,dp数组代表该以该位置结尾的子序列的最大和class Solution {public: int m...

2020-03-20 03:12:55 87

原创 Leedcode 每日一题 —— 有效的口号

给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false...

2020-03-19 05:44:35 116

原创 Leedcode 每日一题 —— 电话号码的字母组合

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。提交代码:(我觉得这种算...

2020-03-19 05:11:30 108

原创 Leedcode 每日一题 —— 删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。提交代码:/** * Definition for singly-linked list. * str...

2020-03-13 07:12:12 61

原创 Leedcode 每日一题 —— 删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3这题很简单,不多说。提交代码:/** * Definition for singly-linked list. * struct Li...

2020-03-13 06:37:59 103

原创 Leedcode 每日一题 —— 三数之和

给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]提交代码:(双指...

2020-03-13 06:28:37 89

原创 Leedcode 每日一题 —— 盛最多水的容器

给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...

2020-03-13 01:00:59 83

原创 Leedcode 每日一题 —— 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4迭代法:/** * Definition for singly-linked list. * struct ListNode { * i...

2020-03-13 00:38:23 95

原创 Leedcode 每日一题 —— 反转链表

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL这题也蛮简单的,但是一开始由于混淆地址,tmp = p, tmp->next=..., p = p->next, 这样写的话tmp由于是跟p地址相同,改变tmp的next也等于改变了p的next,所...

2020-03-12 08:57:37 106

原创 Leedcode 每日一题 —— 相交链表

编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8...

2020-03-12 07:51:36 86

原创 Leedcode 每日一题 —— 正则表达式匹配

给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例 1:输入:s = "aa"p...

2020-03-12 07:04:41 131

原创 Leedcode 每日一题 —— 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"emmmm这道题一上来首先想到暴力解法,但时间复杂度肯定巨高(O(n^3)),改进了一下发现仍然只能通过95/103.......代码(未全部通过):...

2020-03-11 06:15:15 170

原创 Leedcode 每日一题 —— 寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组nums1 和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 ...

2020-03-09 21:45:17 147

原创 Leedcode 每日一题 —— 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是...

2020-03-07 23:14:12 116 1

原创 Leedcode 每日一题 —— 两数相加

给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...

2020-03-06 00:52:19 123

原创 Leetcode每日一题——两数之和

两数之和给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...

2020-03-05 08:15:40 116

原创 并查集

问题 C: 刘备闯三国之三顾茅庐(一)时间限制: 1000 MS  内存限制: 128 MB提交: 100  解决: 30[提交][状态][讨论版]题目描述        刘备(161年-223年6月10日),字玄德,东汉末年幽州涿郡涿县,西汉中山靖王刘胜的后代。刘备一生极具传奇色彩,早年颠沛流离、备尝艰辛最终却凭借自己的谋略终成一方霸主。那么在那个风云激荡的年

2017-04-24 08:18:46 202

原创 优化枚举问题

主页讨论版问题名次状态统计欢迎使用XMU JudgeOnline。问题 B: 刘备闯三国之桃园结义时间限制: 1000 MS  内存限制: 128 MB提交: 182  解决: 13[提交][状态][讨论版]题目描述        刘备(161年-223年6月10日),字玄德,东汉末年幽州涿郡涿县,西汉中山靖王刘胜

2017-04-24 08:15:13 565

原创 山东煎饼(贪心)

题目描述  今天TheBeet去门口那家山东煎饼小摊买煎饼,到他付钱的时候他才发现,他的钱包里面只有一张100块。于是他需要把这张100块钱破开,但是TheBeet不喜欢硬币,另外由于某种原因,TheBeet也不喜欢20元的纸币,另外也不喜欢钱包里面有太多张纸币,所以他希望拿到尽量少的纸币数。给出摊主现有的纸币数量,求摊主要如何找零给TheBeet才能满足他的要求。输入  

2017-04-21 21:16:02 430

原创 任务选择问题(贪心算法)

题目描述  今天Ckp打算去约会。大家都知道Ckp是超级大帅哥,所以和他约会的MM也超级多,她们每个人都和Ckp订了一个约会时间。但是今天Ckp刚打算出门的时候才发现,某几个MM的约会时间有冲突。由于Ckp不会分身,还不能和多个MM同时约会,他只能忍痛割爱拒绝掉某些MM。但是Ckp这个花心大萝卜还是不死心,他想知道,他最多可以和多少个MM约会。输入  输入的第一行包含一个正

2017-04-21 20:38:21 2056

原创 最长子序列问题

题目描述    传说中,月老是掌管男女婚姻之神。每年七夕,七星娘娘会把人世间未婚的成年男女制成名册,向天庭呈报。月下老人收到名册后,按照个性、善恶、兴趣与条件抄写成一本配偶名册,然后用红线绑牢男女二人之足,使合适的男女配成一对佳偶。    在一个古老的小镇,有一条古老的小河横穿这个镇南北,把这个小镇划分成东西两个部分。这个古老的小镇保留着一个古老的风俗,所有未婚男子都住在这条河的西岸上

2017-04-09 19:47:50 312

原创 0/1背包问题(动态规划)

题目描述    TheBeet很喜欢玩GBA游戏。他的手机上有一个GBA的模拟器,可以模拟很多GBA的游戏。今天TheBeet找到了一个GBA Rom下载的网站,里面有很多很多很多很多很多的GBA Rom,每个游戏都有了大小mi和一个TheBeet认为它好玩的程度vi。TheBeet当然是想把它们全部下载过来,但是TheBeet手机的SD卡空闲容量有限,只有M的容量。现在TheBeet想使

2017-04-09 15:58:12 322

原创 Number Triangles

题目描述Consider the number triangle shown below. Write a program that calculates the highest sum of numbers that can be passed on a route that starts at the top and ends somewhere on the base. Each s

2017-03-29 09:06:15 145

原创 残缺棋盘问题

残缺棋盘问题残缺棋盘是一个2^k*2^k个方格的棋盘,其中恰好有一个方格残缺,现在要求用三格板覆盖棋盘,在此覆盖中两块三格板不能重叠,三格板也不能覆盖在残缺的方格上。#include#include#includeusing namespace std;const int N = 104;int board[N][N]; //棋盘大

2017-03-29 08:06:06 1003

原创 装配线调度问题

题目描述  有两条装配线,编号分别为1和2。每一条装配线上有个n装配点,将第i条线上的第个j装配点记为Si,j,设在装配点Si,j的装配时间为Ai,j。假设要装配一辆汽车,将汽车底盘从进厂点送入第i号装配线,需要时间Ei。在装配点Si,j装配后,如果汽车传送到同一号装配线的装配点Si,j+1进行装配,则传送不需要时间。如果汽车完成装配点Si,j的工作后传送到另一号装配线进行下一步的工作,则

2017-03-27 09:26:42 1109

原创 大整数乘法(非分治算法)

题目描述Calculate a*b输入Two integer a,b (01000)输出Output a * b样例输入5 7样例输出35#include#include#includeconst long int N=100000;using namespace std;char str1[N

2017-03-26 01:10:59 385

原创 矩阵乘法

题目描述给出两个的矩阵,求他们的乘积输入第一行有两个正整数N1, M1 (01, M1接下来有N1行,每行有M1个数字,描述第1个矩阵。第N+2行有两个正整数N2, M2 (02, M2接下来有N2行,每行有M2个数字,描述第2个矩阵。矩阵的每个元素在[-300, 300]之间,输入保证M1等于N2。输出输出N1行每行M2个数字表示结果矩阵。

2017-03-25 23:38:36 236

原创 全排列算法(递归)

题目描述Generate the complete permutation of  1..N输入Each input file contains only one non-negative integer N (0输出Output N! Lines, according to lexicographic order.样例输入3样例输出

2017-03-25 22:48:11 341

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除