代码编织梦想

【程序员面试金典】面试题 01.06. 字符串压缩_现在给定一个由数字组成的字符串,请你判断该字符串压缩后形-爱代码爱编程

【程序员面试金典】面试题 01.06. 字符串压缩 题目描述解题思路 题目描述 描述:字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabccccca

【程序员面试金典】面试题 04.01. 节点间通路-爱代码爱编程

【程序员面试金典】面试题 04.01. 节点间通路 题目描述解题思路 题目描述 描述:节点间通路。给定有向图,设计一个算法,找出两个节点之间是否存在一条路径。 输入:n = 3, graph

【程序员面试金典】面试题 17.25 . 单词矩阵-爱代码爱编程

【程序员面试金典】面试题 17.25 . 单词矩阵 题目描述解题思路 题目描述 描述:给定一份单词的清单,设计一个算法,创建由字母组成的面积最大的矩形,其中每一行组成一个单词(自左向右),每一

有向路径检查-爱代码爱编程

对于一个有向图,请实现一个算法,找出两点之间是否存在一条路径。 给定图中的两个结点的指针UndirectedGraphNode* a,UndirectedGraphNode* b(请不要在意数据类型,图是有向图),请返回一个bool,代表两点之间是否存在一条路径(a到b或b到a)。 ------------------------- 思路:实

翻转子串_求交叉后得到的两个新串s1 s2-爱代码爱编程

题目描述 假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。 给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000

程序员面试金典-爱代码爱编程

题目描述 有两个32位整数n和m,请编写算法将m的二进制数位插入到n的二进制的第j到第i位,其中二进制的位数从低位数到高位且以0开始。 给定两个数int n和int m,同时给定int j和int i,意义如题所述,请返回操作后的数,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1。 测试样例: 1024,19,2,6 返回

面试题 02.08. 环路检测-爱代码爱编程

1.题目   2.思路 方法一——哈希表记录节点 思路很简单,记录一下每个节点出现的次数,如果某个节点出现了两次,代表此时有环,并且是环的入口,直接返回即可。 时间复杂度O(N) 空间复杂度O(N) public class Solution { public ListNode detectCycle(ListNode head)

程序员面试金典——机器人走方格1_有一个x*y的网格,小猴子在网格内只能走格点且只能向右或向下走,要从左上角走到右-爱代码爱编程

题目描述 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。 给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小于等于12。 测试样例: 2,2 返回:2 import java.util.*; public class Robot

程序员面试金典——第k个数_第k个数面试金典-爱代码爱编程

题目描述 有一些数的素因子只有3、5、7,请设计一个算法,找出其中的第k个数。 给定一个数int k,请返回第k个数。保证k小于等于100。 测试样例: 3 返回:7 思路: /*       * 时间复杂度O(N),按书中所讲

程序员面试金典——机器人走方格2-爱代码爱编程

题目描述 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。注意这次的网格中有些障碍点是不能走的。 给定一个int[][] map(C++ 中为vector >),表示网格图,若map[i][j]为1则说明该点不是障碍点,否则则为障碍。另外给定int x,int

程序员面试金典——加法运算替代-爱代码爱编程

题目描述 请编写一个方法,实现整数的乘法、减法和除法运算(这里的除指整除)。只允许使用加号。 给定两个正整数int a,int b,同时给定一个int type代表运算的类型,1为求a * b,0为求a / b,-1为求a - b。请返回计算的结果,保证数据合法且结果一定在int范围内。 测试样例: 1,2,1

[算法练习及思路-爱代码爱编程

题号:no51 题目名:硬币 原题URL:https://leetcode-cn.com/problems/coin-lcci/ 题目描述 硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分

面试题 04.01. 节点间通路-爱代码爱编程

1.题目 2.思路 方法一 注意题目中的提示,需要去重,这里BFS 和 DFS 都可以,主要选取DFS进行讲解。 1.建立邻接表,这里采取哈希表map存储。注意有重复边,比如[1,2],[1,2] 2.使用vis[]矩阵记录是否访问过该节点,剪枝和避免有环。 2.建立dfs()函数,因为题目中要求返回true 或者 false,这里方便期间

访问单个节点的删除_林中小屋删除了什么-爱代码爱编程

题目描述 实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。 给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true ------------------------------------------ 思路:若非尾节点,将其后继节点的值转移到当前节点;      

程序员面试金典-爱代码爱编程

题目描述 有一个正整数,请找出其二进制表示中1的个数相同、且大小最接近的那两个数。(一个略大,一个略小) 给定正整数int x,请返回一个vector,代表所求的两个数(小的在前)。保证答案存在。 测试样例: 2 返回:[1,4] 思路:这道题没想到什么好办法,只想到了暴力法,先判断这个数二进制有几个1,然后前面那个数从x-1

leetcode78 子集 &《程序员面试金典》面试题 08.04. 幂集-爱代码爱编程

LeetCode78 子集 &《程序员面试金典》面试题 08.04. 幂集 题目解题解题一:位运算解题二:非递归版简单构造解题三:递归版简单构造解题四:回溯版简单构造 题目 解题

程序员面试金典2——魔术索引2-爱代码爱编程

题目描述 在数组A[0..n-1]中,有所谓的魔术索引,满足条件A[i]=i。给定一个不下降序列,元素值可能相同,编写一个方法,判断在数组A中是否存在魔术索引。请思考一种复杂度优于o(n)的方法。 给定一个int数组A和int n代表数组大小,请返回一个bool,代表是否存在魔术索引。 测试样例: [1,1,3,4,

程序员面试金典——魔术索引1-爱代码爱编程

题目描述 在数组A[0..n-1]中,有所谓的魔术索引,满足条件A[i]=i。给定一个升序数组,元素值各不相同,编写一个方法,判断在数组A中是否存在魔术索引。请思考一种复杂度优于o(n)的方法。 给定一个int数组A和int n代表数组大小,请返回一个bool,代表是否存在魔术索引。 测试样例: [1,2,3,4,5

程序员面试金典-爱代码爱编程

题目描述 有一个介于0和1之间的实数,类型为double,返回它的二进制表示。如果该数字无法精确地用32位以内的二进制表示,返回“Error”。 给定一个double num,表示0到1的实数,请返回一个string,代表该数的二进制表示或者“Error”。 测试样例: 0.625 返回:0.101 思路:0.5 == 1.0

[算法练习及思路-爱代码爱编程

题号:no50 题目名:颜色填充 原题URL:https://leetcode-cn.com/problems/color-fill-lcci/ 题目描述 编写函数,实现许多图片编辑软件都支持的「颜色填充」功能。