算法
liuYinXinAll
爱coding,我的网站 www.liuyinxin.com
展开
-
位运算判断一个数是奇数还是偶数
在 leetcode 上刷题的时候,有道题需要判断一个数是奇数还是偶数。看到大神写的判断方法。记录一下代码如下int t = 3; // 要判断的数.int odd = t & 1; // 如此简单如果是奇数 odd 为 1,偶数的话则为0原理一个数如果是奇数的话,那么他的二进制最后一位一定为1. 比如 3, 他的二进制表示为 11 而 1 的二进制为 01 ,...原创 2018-04-17 12:29:28 · 3893 阅读 · 0 评论 -
151. 翻转字符串里的单词 Leecode C++
题目简介给定一个字符串,逐个翻转字符串中的每个单词。示例:输入: “the sky is blue”,输出: “blue is sky the”.说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。进阶: 请选用C语言的用户尝试使用 O(1) 空间复杂度的原地解法。思...原创 2018-12-05 17:24:01 · 814 阅读 · 1 评论 -
71. 简化路径 Leecode C++
题目地址简化路径题目简介给定一个文档 (Unix-style) 的完全路径,请进行路径简化。例如,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"边界情况:你是否考虑了 路径 = "/../"的情况?在这种情况下,你需返回 “/” 。此外,路径中也可能包含多个斜杠'/',如 "/h原创 2018-12-06 20:39:18 · 406 阅读 · 0 评论 -
数据中心 100分 CCF 201812-4 [最小生成树 + 优先队列] Java版本
样例输入4511 2 31 3 41 4 52 3 83 4 2样例输出4样例说明思路:这个题我是用Java解决的主要是求最小生成树上权值最小的那个边,最终用了克鲁思卡尔(Kraskra) + 优先队列终于在不超时的情况下满分了说下要注意的地方感觉CCF中,Java很容易超时。首先观察给出的数据量大小,发现是一个比较稀疏的图,所以用 Kraskra求最小...原创 2019-03-11 20:18:50 · 252 阅读 · 0 评论 -
约瑟夫问题
DescriptionN个人围坐一圈,从1号开始连续报数,报到3的人退出圈,依此类推。直到最后圈里剩下两个人停止。问最后剩下的两个人的序号是多少。(报数按顺时针方向)Input圈中人数NOutput剩下的两个人的序号Sample Input10Sample Output4 10import java.util.LinkedList;import java.util.Scann...原创 2019-06-27 15:30:06 · 477 阅读 · 0 评论 -
移除 K 位得到最小值
有一行由 N 个数字组成的数字字符串,字符串所表示的数是一正整数。移除字符串中的 K 个数字,使剩下的数字是所有可能中最小的。假设:字符串的长度一定大于等于 K字符串不会以 0 开头思路首先,可以用贪心的思想,如果后一个数大于前一个数,则把前一个数字抛弃。对此可以用贪心的思想。用一个栈去存储数据。其次,如果是有序数组,则把后k位直切抛弃掉。代码如下:import java.util...原创 2019-07-16 22:57:25 · 443 阅读 · 0 评论 -
和为零的三元组
和为零的三元组题目链接:https://code.mi.com/problem/list/view?id=15描述给出一个整数数组, 数组中是否存在任意 3 个数 a, b, c 满足 a + b + c = 0? 找出数组中所有满足以上条件的三元组,最后输出这些三元组的个数(包含相同元素的三元组只计算一次)。输入一个包含多个整数(正或负)的字符串,每个整数之间用逗号(,)分隔,如:-...原创 2019-08-01 23:19:32 · 721 阅读 · 0 评论 -
201409-2 画图 CFF C++100分
题目简介在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在...原创 2018-12-05 16:32:00 · 302 阅读 · 0 评论 -
反转字符串中的单词 III leecode 557 C++
题目简介给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: “Let’s take LeetCode contest”输出: “s’teL ekat edoCteeL tsetnoc”注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。题目地址反转字符串中的单词 III leecode 557思路思路很简单...原创 2018-12-05 15:51:32 · 381 阅读 · 0 评论 -
CCF 元素选择器 80分解答
写了几个小时,一直没有找到哪里出错,只有80分,希望大佬可以指点一下大致思路有一个Node的结构题,有id,label, rank就是层数组分为单个匹配和多行匹配,用一个nodes数组来表示层数,如果是多行匹配,则去寻找nodes[j].rank == nodes[i].rank - 1学习大佬的【CCF 201809-3】元素选择器#include <stdio.h> #...原创 2018-11-29 09:51:10 · 352 阅读 · 1 评论 -
数制转换 OpenJ_Bailian - 2710
题目要求求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。 不同进制的表示符号为(0,1,…,9,a,b,…,f)或者(0,1,…,9,A,B,…,F)。Input输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。 a,b是十进制整数,2 =< a,b <= 16。...原创 2018-08-28 11:34:54 · 211 阅读 · 0 评论 -
Leecode RLE 迭代器 _900
编写一个遍历游程编码序列的迭代器。 Leecode 900 号问题 迭代器由 RLEIterator(int[] A) 初始化,其中 A 是某个序列的游程编码。更具体地,对于所有偶数 i,A[i] 告诉我们在序列中重复非负整数值 A[i + 1] 的次数。迭代器支持一个函数:next(int n),它耗尽接下来的 n 个元素(n >= 1)并返回以这种方式耗去的最后一个...原创 2018-09-11 17:18:06 · 260 阅读 · 0 评论 -
Leecode 747 至少是其他数字两倍的最大数
题目在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0] 输出: 1 解释: 6是最大的整数, 对于数组中的其他整数, 6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.示例 2:输入: nums =...原创 2018-09-13 09:46:38 · 283 阅读 · 0 评论 -
Leecode 342 4的幂
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。示例 1:输入: 16输出: true示例 2:输入: 5输出: false进阶: 你能不使用循环或者递归来完成本题吗?这道题是一个很简单的题,一个循环就OKbool isPowerOfFour(int n) { while ( !(n % 4)) { ...转载 2018-09-14 11:48:33 · 318 阅读 · 0 评论 -
Play on Words UVA-10129
问题描述Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because there is no other way to open the doors, the puzzle is very...原创 2018-11-04 11:59:46 · 244 阅读 · 0 评论 -
树状数组理解
最近再看树状数组,开始有些不太理解,今天终于弄懂了。对于 lowbit 计算的如此巧妙真是太神奇了,一行代码即可获取一个数最后一位1的位置int lowbit(int x) { return x & -x;}但是树状数组的思想前几天一直困扰我,在花了这个图之后慢慢明白了。记录一下:其实树桩数组就是将几个书的和存起来,这样计算n个数和的时候复杂度就可以从N到log(N)...原创 2018-11-11 16:01:30 · 187 阅读 · 0 评论 -
UVA642 Word Amalgamation
题目介绍In millions of newspapers across the United States there is a word game called Jumble. The object of this game is to solve a riddle, but in order to find the letters that appear in the answer it ...原创 2018-11-23 10:06:31 · 275 阅读 · 0 评论 -
数据挖掘aprioir算法python的简单实现
这周学习了数据挖掘中计算频繁项集的aprioir算法,老师让用python实现一下,自己按照《数据挖掘概念与技术》第六章上面讲解的过程实现如果有大佬发现问题,欢迎提出意见实现如下# 设置支持度为2support = 2def load_data(): &amp;quot;&amp;quot;&amp;quot; 加载数据 :return: &amp;quot;&amp;quot;&原创 2018-11-24 20:26:47 · 1350 阅读 · 0 评论 -
帮小学生排队
题目哈哈哈笑死我了这个题目描述用一个数组表示一群正在排队的小学生,每个小学生用一对整数 H, K 来表示:H 表示这个小学生的身高,K 表示这个小学生前面应该有 K 个人的身高 >= 他。写一个算法,对给出的一组小学生计算出符合描述的正确排序。我的思路首先,将小朋友拍一个顺序,排序按照小朋友的身高降序,同时按照前面人的个数升序然后链表中前面人的个数插入就好了。因为排序后链表...原创 2019-08-02 00:10:12 · 360 阅读 · 0 评论