随笔分类 -  Random

摘要:规律不多说,可以去LeetCode看评论。 其实我很早就想到了解法,但是用 JAVA 我比较陌生,一直用代码实现不了解法。 几个月没做题,脑子比较迟钝,这个题目做了大概 3 小时 。 思路: 模拟规律,用循环做。 1.初始化 str = “1”; 2.一个循环,循环的层数即是 n 。 3.用一个 p 阅读全文
posted @ 2019-09-07 16:44 stul 阅读(202) 评论(0) 推荐(0)
摘要:今天开始用java写算法题目。 题目大意,一个长度为 n 的数组,里面存放的数组是 0 到 n-1,数组中有重复数字的话就输出这个数字。 思路:将每个 nums[i] 的值 移动到他原来应该属于的地方,如果那个地方的值和现在的值相等,就重复了。 因为 java 不会使用,有下列语法错误。 1.给数组 阅读全文
posted @ 2019-09-07 09:13 stul 阅读(829) 评论(0) 推荐(0)
摘要:思路: 1.数组长度为1 0的时候单独处理。 2.大于的时候,set 两个 index,i 和 j 。当数组的第 j 个元素和第 j - 1 个元素不同的时候,数组的第 i 个元素 set 为 nums [ j ]。 其实就是遍历数组,找出不重复的元素,放在数组的前面。 阅读全文
posted @ 2019-04-10 11:46 stul 阅读(279) 评论(0) 推荐(0)
摘要:这个题目搞得我有点头疼。 思路: 遍历串 S,遇见左括号进栈。遇见右括号就检查是否是栈顶元素的右括号。 注意点:样例有多余的右括号的时候,例如“{ ] }”,“ ] ”。 阅读全文
posted @ 2019-04-10 11:14 stul 阅读(112) 评论(0) 推荐(0)
摘要:思路:维护一个 prefix 是当前最长公共前缀,然后依次和后面所有的串比较,更新 prefix。直到遍历strs结束。 阅读全文
posted @ 2019-04-10 11:06 stul 阅读(161) 评论(0) 推荐(0)
摘要:代码: x[i] 的值 代表的是行,i 代表的是列。 你也可以反过来想。 具体看代码,调试的时候可以打印出结果,判断问题所在。 阅读全文
posted @ 2019-04-07 15:59 stul 阅读(336) 评论(0) 推荐(0)
摘要:代码: n 代表的是物品个数 MaxWight 背包能装的最大体积 SumValue 物品的最大价值 ans 数组,最终选择方式 a 数组,临时选择方式 思路:物品只有两种选择,放或者不放,构造二叉树,n 个物品就是 n 层树,然后进行最优值更新。 样例: 图1 背包构造出的二叉树如图1,顺序三从右 阅读全文
posted @ 2019-04-07 13:06 stul 阅读(1816) 评论(0) 推荐(0)
摘要:在使用wx:for的时候出现了Do not set same key \"NaN\" in wx:key. 去网上查看资料,说是使用wx:key 试了一下,没用 字面意思是不要设置同一个key,我去js里面查看我的item, 原来是这样写的,这种写法应该是把所有的user都set成了array[0] 阅读全文
posted @ 2019-03-31 10:32 stul 阅读(5187) 评论(0) 推荐(0)
摘要:1.cmd进入小程序的目录,cd C:\Users\lenovo\WeChatProjects\SITfu 2.npm install 3.npm init 4.npm install miniprogram-datepicer 5.构建npm 阅读全文
posted @ 2019-03-19 19:14 stul 阅读(333) 评论(0) 推荐(0)
摘要:https://rufus.ie/ U盘制作工具 http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso ubuntu 18.04.2系统 http://releases.ubuntu.com/18.04/ubuntu-18 阅读全文
posted @ 2019-03-15 21:42 stul 阅读(205) 评论(0) 推荐(0)
摘要:题意:给你一个正方形棋盘,尺寸是 2 的次方,2*2、4*4 、8*8 …… 棋盘上有一个缺点。要求:用 L 形的骨牌覆盖整个棋盘,不能覆盖到缺点。 先上代码。 8*8的棋盘如下,缺点为(0,0): 每次分割的时候,骨牌所在位置是没有缺点的另外三个象限。 第一次分割 第二次分割 第三次分割 图5 图 阅读全文
posted @ 2019-03-08 16:15 stul 阅读(313) 评论(0) 推荐(0)
摘要:先上代码 在上篇博客,归并排序里面提到的分治法三步骤。分、治、合并。 快速排序里面主要步骤是第一步,划分。 首先取序列里面的第一个元素作为基准 pivot,然后将序列划分为两部分,一部分大于 pivot,一部分小于 pivot。( pivot = a[low] ) 划分的具体办法:定义两根指针 i 阅读全文
posted @ 2019-03-06 09:28 stul 阅读(472) 评论(0) 推荐(0)
摘要:首先上代码。 分治法一般分为三个步骤。1.分 2.治 3.合并。归并排序也是分治的思想,所以它也可以分为三步。 1.分。将大序列划为两个小序列(当然也可以多个)。一直划分到序列只有 1 个元素的时候停止。 2.治。因为停止时候序列元素只有 1 个,所以治这一步是没有体现出来的。 3.合并。这是归并排 阅读全文
posted @ 2019-03-05 19:11 stul 阅读(325) 评论(0) 推荐(0)
摘要:比较简单的搜索题目, 阅读全文
posted @ 2019-02-08 14:24 stul 阅读(68) 评论(0) 推荐(0)
摘要:给定两个长度为len的字符串s1和s2, 接着给出一个长度为len*2的字符串s12。 将字符串s1和s2通过一定的变换变成s12,找到变换次数 变换规则如下: 假设s1=12345,s2=67890 变换后的序列 s=6172839405 如果s和s12完全相等那么输出变换次数 如果不完全相等,s 阅读全文
posted @ 2019-02-04 11:22 stul 阅读(142) 评论(0) 推荐(0)
摘要:题目链接:https://nanti.jisuanke.com/t/36116 n个人,最少的门票,n/2张。 mid = (n-1)/2 然后 l = mid, r = n-1。两边比较,模拟一下过程,如果arr[i] * 2 < arr[j] 那就 n--。否则就 l--。去找下一个小于的数看是 阅读全文
posted @ 2019-02-02 15:32 stul 阅读(204) 评论(0) 推荐(0)
摘要:一天蒜头君得到 nnn 个字符串 sis_isi​,每个字符串的长度都不超过 101010。 蒜头君在想,在这 nnn 个字符串中,以 sis_isi​ 为后缀的字符串有多少个呢? 输入格式 第一行输入一个整数 nnn。 接下来 nnn 行,每行输入一个字符串 sis_isi​。 输出格式 输出 n 阅读全文
posted @ 2019-02-02 11:22 stul 阅读(161) 评论(0) 推荐(0)
摘要:// time:20/01/19 23:44//digit 控制位数//tmp 作为中间变量,数组的每个元素 ×下一个 i 值的时候,保存在tmp里面//num 进位的时候,需要用num保存,然后给数组的下一位 #include <bits/stdc++.h>#define M 10010using 阅读全文
posted @ 2019-01-24 14:44 stul 阅读(142) 评论(0) 推荐(0)
摘要:1.strlen函数。 普通版实现方法, int strlen( char *s) { int length = 0; while(*s++) length++; return length; } 优化版实现方法 int strlen(char *s) { char *str = s; while( 阅读全文
posted @ 2019-01-24 14:43 stul 阅读(120) 评论(0) 推荐(0)