算法题记录
farthjun
菜鸟一枚
展开
-
Sicily 1021 Couples
1021. CouplesDescriptionN couples are standing in a circle, numbered consecutively clockwise from 1 to 2N. Husband and wife do not always stand together. We remove the couples who stand together unt...原创 2019-03-25 23:29:58 · 176 阅读 · 0 评论 -
Leetcode 984 不含AAA或BBB的字符串
贪心选择:A比B多,每次消耗两个A一个B;B比A多,每次消耗两个B,一个A;A与B相同,同时消耗一个A一个B。注意考虑一方的个数减为0的情况。class Solution {public: string strWithout3a3b(int A, int B) { string ans; while(1){ if(!A&&B){ ans...原创 2019-07-28 14:58:51 · 201 阅读 · 0 评论 -
Leetcode 142 环形链表Ⅱ
以下两种方法均来自该题的“题解”。一. 使用set遍历节点的同时将之放入set。如果某次放入没有引起size的增大,说明该节点是重复的,即环形链表的入口,返回它即可。时间空间复杂度均为O(N)ListNode *detectCycle(ListNode *head) { set<ListNode*> s; ListNode *temp = head; int n = s.s...原创 2019-07-23 14:44:46 · 237 阅读 · 0 评论 -
经典回溯法:N皇后问题、马周游问题
回溯法是一种选优搜索法,很多情况下思路和图的深度遍历很相似。下面主要分享两道比较典型的回溯法问题。一 .N皇后问题(题目来源:SOJ)DescriptionGiven N queens on an N*N chess board, find the number of ways of placing these queens so that they will not attack each...原创 2019-05-19 00:13:40 · 1378 阅读 · 0 评论 -
SOJ题型分类
转自 BoBoAn_DouYa的博客Happy coding! SOJ题型分类 sicily 1198 ...转载 2019-04-24 11:25:46 · 338 阅读 · 0 评论 -
Sicily 1176 Two Ends
1176. Two EndsDescriptionIn the two-player game “Two Ends”, an even number of cards is laid out in a row. On each card, face up, is written a positive integer. Players take turns removing a card fro...原创 2019-04-22 09:34:14 · 194 阅读 · 0 评论 -
将十进制大数转为二进制
将十进制转为二进制,我们一般使用除二取余法,将余数从下往上组合起来,就能得到该数的二进制形式了:对大数也是一样,我们只需要用循环重复这一过程即可。使用string来存大数,用int型数组num[]存一位一位的大数,用int型数组ans[]存最终的二进制结果。从大数的第一位开始循环除以2,结果继续存到num[]中,直到num每一位都是0,运算就结束了。下面放代码:#include<i...原创 2019-04-11 21:07:39 · 5185 阅读 · 1 评论 -
Sicily 1027 MJ, Nowhere to Hide
题目太长就不粘了。一. 题意理解有 2N 行输入,每行包括一个 ID 和一个 IP,一个人可以有两个ID,但他的 IP 是固定且唯一的。第一次出现的ID是主ID, 第二次出现的 ID是主 ID 的 MaJia。要求输出MJ关系。给出输入和输出:Sample Input8inkfish 192.168.29.24 (1)zhi 192.168.29.235 (2)m...原创 2019-03-28 17:46:26 · 213 阅读 · 0 评论 -
Sicily 1527. Tiling a Grid With Dominoes
1527. Tiling a Grid With DominoesDescriptionWe wish to tile a grid 4 units high and N units long with rectangles (dominoes) 2 units by one unit (in either orientation). For example, the figure shows...原创 2019-03-31 23:59:24 · 326 阅读 · 0 评论 -
Sicily 1020 Big Integer
题外话:本学期开设课程算法分析与设计,我会记录一些Sicily上的作业题目,附上自己粗浅的理解和总结。有不正确的地方欢迎大家批评指正。1020. Big IntegerConstraintsTime Limit: 1 secs, Memory Limit: 32 MBDescriptionLong long ago, there was a super computer that cou...原创 2019-03-25 23:03:48 · 149 阅读 · 0 评论 -
Leetcode152乘积最大子序列
解法参考自评论区的大佬。解法1:最大子序列的乘积只有在一种情况下为负:只有一个元素且该元素为负。设想序列中间的一个数,如果它的左边和右边为均为正或均为负,则可以将它们加入子序列,乘积一定是变大的;如果左边和右边为一正一负,则必然可以加入其中一个。只有遇到0时比较特殊,需要从0后的第一个非0元素重新开始计算。所以,我们只需要从前往后累乘,从后往前累乘,取整个过程中最大的值即可。int m...原创 2019-08-13 15:42:57 · 206 阅读 · 0 评论