面试
饼干姑娘
这个作者很懒,什么都没留下…
展开
-
剑指Offer面试题41(Java版):和为s的两个数字VS和为s的连续正数序列
题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多个数字的和等于s,输出任意一对即可。 例如输入数组{1,2,4,7,11,15}和数字15.由于4+11=15,因此输出4和11. 首先前提是数组是有序的,我们先在数组中选择两个数字,如果他们的和等于输入的s,我们就找到了要找的两个数字。如果小于s呢?我们希望两个数字的和再大一点。由于数组已经排好序了,我们可以考虑选择较小的数字后面的数字。因为排在后面的数字要大一点,那么这两个数字的和也要大一点,就有可能等于输转载 2021-01-07 12:48:49 · 86 阅读 · 0 评论 -
剑指Offer面试题40(Java版):数组出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。 public class E40NumbersAppearOnce { public static void main(String[] args) { int[] arr={1,1,3,3,6,8,9,9}; findNumsAppearOnce(arr); } public static void findNumsAppearOnce(int [] arr ){ .原创 2021-01-07 10:50:55 · 88 阅读 · 0 评论 -
剑指Offer面试题28(java版):字符串的排列
题目:输入一个字符串,打印出该字符串中字符的所有排列。 例如输入字符串abc,则打印由字符a,b,c所能排列出来的所有字符串:abc,abc,bac,bca,cab,cba 我们求整个字符串的排列,可以看成两步:首先求出所有可能出现在第一个位置的字符,即把第一个字符和后面所有的字符交换。下图就是分别把第一个字符a和后面的b,c交换的情景。第二步固定第一个字符,求后面所有字符的排列。这个时候我们仍把后面的所有字符分成两部分:后面字符的第一个字符,以及这个字符之后的所有字符。然后把第一个字符逐一和它后面的字转载 2021-01-06 22:26:32 · 78 阅读 · 0 评论