随笔分类 - 算法练习-基本算法思维
摘要:题目:略 分析:问题的本质是判断目标字符串在构建过程中是否可以使用一次复制粘贴。 1.问题限制:字符串的复制粘贴只能使用一次,且需要从最开始复制。 2.首先判断目标字符的长度是否为偶数,不是偶数则减一。 3.从后往前检索,每次回退2个单位。如果满足条件就直接退出。 code: 1 import ja
阅读全文
摘要:题目:略 分析: 1.建立猜拳二维表:剪刀、石头、布->0,1,2 2.将猜拳符号转化为下标。 3.分别计算牛妹出左手和出右手的概率。 code: 1 import java.util.*; 2 3 public class Main { 4 public static void main(Stri
阅读全文
摘要:题目:忘了 解析: 1.首先判断给定的值是否合法,合法继续。 2.根据给定值抽取出特殊字符串序列的特征值 3.依次抽取出每个字符串的特征值与步骤2的特征值比较(直接使用jdk提供的方法) code: 1 import java.util.*; 2 3 public class Main { 4 pu
阅读全文
摘要:题目: 一天,牛妹找牛牛做一个游戏,牛妹给牛牛写了一个数字n,然后又给自己写了一个数字m,她希望牛牛能执行最少的操作将他的数字转化成自己的。操作共有三种,如下: 1.在当前数字的基础上加一,如:4转化为5 2.在当前数字的基础上减一,如:4转化为3 3.将当前数字变成它的平方,如:4转化为16 你能
阅读全文
摘要:问题: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不
阅读全文
摘要:问题: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],
阅读全文
摘要:问题: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 分析: (1)二进制异或将得到他们的非进位部分。 (2)二进制相与并左移一位,等效于进位。 (3)重复上述步骤:知道进位为0. code: public int Add(int num1,int num2) {
阅读全文
摘要:问题: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 分析: (1)使用蛮力法进行穷举:很遗憾,时间上只能通过50%; (2)归并排序+插入排
阅读全文
摘要:问题: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 分析: (1)N<7,直接返回N,因为(1-6)内的第N个丑数,就是本身。 (2)正常情况:使用一个数组dp
阅读全文
摘要:问题: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到
阅读全文
摘要:问题: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 分析:直接以一个链表上进行操作。 (1)对原链表的每一个
阅读全文
摘要:问题: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度
阅读全文
摘要:问题: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 分析: (1)使用数
阅读全文
摘要:1、问题: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 2、分析: (1)根据当前的前序遍历和中序遍历确定
阅读全文
摘要:问题: 小赛特别爱购物,有一次他获得了在超市免费购物的机会,超市内有n件物品,第i(1<=i<=n)件物品的价值为ai,但是他能拿的物品的价值总和不能超过V。贪心的小易希望能拿尽量多数量的物品,那么请你帮他计算下他最多能拿到多少件物品? 分析: 将物品排序,每次只拿当前价值最低的,就可以拿到最多的物
阅读全文
摘要:emmmmmm,使用的是别人的代码! 问题: 小赛是一名幸运的程序员。 虽然他成功帮助小朋友以最快时间夺回了狼堡,但是面试官却打算和他说拜拜了。 理由是——游戏天赋太高,有不务正业、走火入魔的倾向QAQ…… 尽管小赛很不能接受这个理由,可是却只能心灰意冷地吃下这个结果。 然而,在他即将走出门的时候,
阅读全文
摘要:问题: 小B所在的团队正在开发一个WEB输入内容相似性检测应用,她想到的一种方法是统计用户输入内容中不同单词的出现频率,据此建立一个向量表示用户输入的内容。用户输入的内容已经经过过滤处理,只剩下单词和空格,没有标点符号。各个单词出现频率按从小到大的顺序排列后,即构成了用户输入内容的向量表示。由于用户
阅读全文
摘要:emmm,分析的是其他大佬的代码,当时自己没有做出来! 问题: 给出base64编码后的字符串,有效输出原来的字符串,否则输出Invalid。 分析: (1)明白base64编码的特性(建议手动查资料 ) (2)手动记录base64编码的映射规则,建议使用HashMap,按key-value存储后,
阅读全文
摘要:问题: 小明和小红是身处异地的好朋友,两人经常在空闲时间进行网上聊天。两个人空闲时间都是安排好的,小明的时间表是固定的,是[a1, b1], [a2, b2], …, [ap, bp];而小红的时间表比较怪,是依赖她起床时间t的,是[c1+t, d1+t], [c2+t, d2+t], …, [cq
阅读全文
摘要:问题: 求100-999区间的水仙花数 水仙花数性质:一个三位数,它的每个位上的数字的 3次幂之和等于它本身。 分析: (1)确定位数为3 (2)整数%10获得个位值,整数/10去掉个位值。 code: import java.util.ArrayList; import java.util.Lis
阅读全文

浙公网安备 33010602011771号