随笔分类 -  剑指offer

摘要:1、数字序列中某一位的数字 数字以 0123456789101112131415... 的格式作为一个字符序列,在这个序列中第 2 位(从下标 0 开始计算)是 2 ,第 10 位是 1 ,第 13 位是 1 ,以此类题,请你输出第 n 位对应的数字 思路: 我们尝试来找一下规律: 小于10的数字一 阅读全文
posted @ 2022-09-26 13:59 我们村里的小花儿 阅读(18) 评论(0) 推荐(0)
摘要:1、剪绳子 给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],...,k[m]。请问k[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 阅读全文
posted @ 2020-07-02 21:01 我们村里的小花儿 阅读(163) 评论(0) 推荐(0)
摘要:51构建乘积数组 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * ... * A[n-1], 阅读全文
posted @ 2020-06-05 13:41 我们村里的小花儿 阅读(115) 评论(0) 推荐(0)
摘要:46 孩子们的游戏(圆圈中最后剩下的数) 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要 阅读全文
posted @ 2020-06-05 13:08 我们村里的小花儿 阅读(143) 评论(0) 推荐(0)
摘要:41 和为S的连续正序列 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你 阅读全文
posted @ 2020-06-05 12:38 我们村里的小花儿 阅读(105) 评论(0) 推荐(0)
摘要:36 两个链表的第一个公共节点 输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 时间复杂度:O(m+n), m,n分别为链表A,B的长度,最坏情况下,公共结点为最后一个,需要遍历m+n个结点空间复杂度:O(1)看下面 阅读全文
posted @ 2020-06-05 12:15 我们村里的小花儿 阅读(102) 评论(0) 推荐(0)
摘要:31把数组排成最小的数 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 比较两个字符串s1, s2大小的时候,先将它们拼接起来,比较s1+s2,和s2+s1那个大,如果s 阅读全文
posted @ 2020-06-02 17:44 我们村里的小花儿 阅读(188) 评论(0) 推荐(0)
摘要:26 字符串的排列 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 思路:将当前位置的字符和前一个字符位置交换,递归。 public ArrayList<String> P 阅读全文
posted @ 2020-06-02 16:54 我们村里的小花儿 阅读(155) 评论(0) 推荐(0)
摘要:21 从上往下打印二叉树 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 用一个队列来存储这些曾经访问过但是仍旧有用的节点 import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; pub 阅读全文
posted @ 2020-05-26 17:44 我们村里的小花儿 阅读(175) 评论(0) 推荐(0)
摘要:16 合并两个链表 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 有两种方法:一种是递归,一种是非递归 package list; import java.util.Scanner; public class mergeTwoList_16 { pub 阅读全文
posted @ 2020-05-26 16:10 我们村里的小花儿 阅读(120) 评论(0) 推荐(0)
摘要:11 二进制中1的个数 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示 分析 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 (搬运评论区大佬的解释)如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在 阅读全文
posted @ 2020-05-26 14:02 我们村里的小花儿 阅读(154) 评论(0) 推荐(0)
摘要:6旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 分 阅读全文
posted @ 2020-05-26 12:35 我们村里的小花儿 阅读(116) 评论(0) 推荐(0)
摘要:1二维数组的查找: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 一、暴力法 时间复杂度:空间复杂度:O(1) 二、从左下找 利用该二维数组的性质: 每 阅读全文
posted @ 2020-05-26 11:18 我们村里的小花儿 阅读(143) 评论(0) 推荐(0)