06 2020 档案

摘要:枪打出头鸟 题目描述 实例 Java代码 import java.util.*; public class Solution { /** * * @param n int整型 n个人 * @param a int整型一维数组 ai代表第i个人的高度 * @return long长整型 */ publ 阅读全文
posted @ 2020-06-29 16:02 北鼻coder 阅读(295) 评论(0) 推荐(0)
摘要:回文数问题 题目描述 输入输出例如: 样例 方法1:对子串的首位比较,向中间进行 思想 我们每次拿出一个子串,然后一个头指针和一个尾指针分别指向前后,然后依次比较最后和第一个值是否是相等的,如果是相等,再比较第2个数和倒数第2个数是否相等,相等就依次向前推进,直到head>tail的时候停止。如果在 阅读全文
posted @ 2020-06-27 16:17 北鼻coder 阅读(391) 评论(0) 推荐(0)
摘要:以字符串的形式读入两个数字,再以字符串的形式输出两个数字的和 题目描述 输入输出例如: 牛客-Java代码 public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); 阅读全文
posted @ 2020-06-27 16:16 北鼻coder 阅读(1843) 评论(0) 推荐(0)
摘要:合并两个有序链表 题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 思考分析(递归思想) ​ 初始化:定义cur指向新链表的头结点 ​ 操作: ​ 如果l1指向的结点值小于等于l2指向的结点值,则将l1指向的结点值链接到cur的next指针,然后l1指向下一个结点 阅读全文
posted @ 2020-06-26 00:18 北鼻coder 阅读(112) 评论(0) 推荐(0)
摘要:链表反转 题目描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 思考分析(递归思想) 我们可以借助栈结果,把链表存入栈中的时候,再次拿出来的时候就是逆序的了。但是要注意其中关键一步,取出的时候要消除每个节点的next域的指向(正向存入栈中的每个节点的next域的指向是没 阅读全文
posted @ 2020-06-25 21:28 北鼻coder 阅读(1109) 评论(0) 推荐(0)
摘要:二叉树求深度 题目描述 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9,20,null,null,15,7], 来源:力扣(LeetCode) 链接:https://leetcode-cn 阅读全文
posted @ 2020-06-25 20:16 北鼻coder 阅读(520) 评论(0) 推荐(0)
摘要:把二叉树打印成多行 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思考分析(类似二叉树的程序遍历) 参考:二叉树层序遍历 要把二叉树按照每行打印出来,我们可以借助一个队列来处理,一开始把root节点放入到对列中,每次处理,把队列中的元素取出,放入到一个行中(list), 阅读全文
posted @ 2020-06-25 20:08 北鼻coder 阅读(155) 评论(0) 推荐(0)
摘要:11、求1+2+3+....n 题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 方法1:条件表达式 public class Solution { public int Sum_Solution 阅读全文
posted @ 2020-06-25 15:45 北鼻coder 阅读(862) 评论(0) 推荐(0)
摘要:8、[位运算技巧系列]不用加减乘除做加法 ^(异或) 知识点:(同为0,异为1) 0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0 其他 如何左移 左移操作就是最高位抛弃 后的每一位向左前进一位, 最后一位补0 如: 101 左移1位:101-->>先补全四位0101 >>抛弃最高位0,且后边补一位 阅读全文
posted @ 2020-06-25 15:44 北鼻coder 阅读(228) 评论(0) 推荐(0)
摘要:12、数值的整数次方 题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 我的思考 1、如果次方是正树,即直接循环累乘即可; 2、如果次方是0的话,任何数的0次方都是1; 3、如果次方是小 阅读全文
posted @ 2020-06-25 15:42 北鼻coder 阅读(192) 评论(0) 推荐(0)
摘要:7、构建乘积数组[♥♥♥♥] 题目: 给定一个数组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 阅读全文
posted @ 2020-06-25 15:41 北鼻coder 阅读(197) 评论(0) 推荐(0)
摘要:6、变态跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法 当然,你会发现一个规律: f[0] = f[1] = 1 f[2] = 2 = 21 f[3] = 4 = 22 f[4] = 8 = 23 ... **f[n] = 2** 阅读全文
posted @ 2020-06-25 15:39 北鼻coder 阅读(226) 评论(0) 推荐(0)
摘要:5、剑指 Offer 10- II. 青蛙跳台阶问题 动态规划 详细题解:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof/solution/mian-shi-ti-10-ii-qing-wa-tiao-tai-jie 阅读全文
posted @ 2020-06-25 15:37 北鼻coder 阅读(214) 评论(0) 推荐(0)
摘要:剑指 Offer 50. 第一个只出现一次的字符 题目要求 ​ 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 我的思考 ​ 使用无序的哈希表(HashMap)和有序的哈希表(LinkedHashMap)都能解决此问题,但是,我们还是使用无序的哈希表会更 阅读全文
posted @ 2020-06-25 15:35 北鼻coder 阅读(265) 评论(0) 推荐(0)
摘要:4、二维数组中的查找 带行列中止验证的比较(自写) class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { for (int i = 0; i < matrix.length; i++) { 阅读全文
posted @ 2020-06-25 15:34 北鼻coder 阅读(175) 评论(0) 推荐(0)
摘要:9、二叉树镜像 操作给定的二叉树,将其变换为源二叉树的镜像。 其他方法 方法1:递归代码 /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int 阅读全文
posted @ 2020-06-25 15:32 北鼻coder 阅读(162) 评论(0) 推荐(0)
摘要:10、补充基础:栈与队列模型 (1)Queue PriorityQueue PriorityQueue是Queue队列实现类,PriorityQueue保存队列元素的顺序不是按照加入队列的顺序,而是按照队列元素的大小进行重新排序。当调用peek()或者poll()方法获取队列元素时,获取的是队列最小 阅读全文
posted @ 2020-06-25 15:30 北鼻coder 阅读(168) 评论(0) 推荐(0)
摘要:3、数组中重复的数字 方法1:简单排序排序思想比较 //方法1:确定临时最小值,后续匹配(类似简单选择排序思想) public int findRepeatNumber(int[] nums) { for (int i = 0; i < nums.length; i++) { int temp = 阅读全文
posted @ 2020-06-25 15:29 北鼻coder 阅读(147) 评论(0) 推荐(0)
摘要:1、用两个栈实现队列 1.1、[牛客]用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 package jianzhioffer; import java.util.Stack; /** * @author jiyongjia * @create 2020/6/1 阅读全文
posted @ 2020-06-25 15:24 北鼻coder 阅读(246) 评论(0) 推荐(0)
摘要:2、斐波那契数列 方法1: 使用迭代for循环,效率高 /** * 时间上可以不超时 * int f[]={0,1,1,2,3,5,8,13,21,34...] */ public static int fib2(int n) { if (n==0 || n==1){ return n; } els 阅读全文
posted @ 2020-06-25 15:21 北鼻coder 阅读(660) 评论(0) 推荐(0)
摘要:左旋转字符串(Java)-循环Index方式 题目要求 ​ 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“ 阅读全文
posted @ 2020-06-25 14:56 北鼻coder 阅读(406) 评论(0) 推荐(0)
摘要:> 题目要求 链接:https://www.nowcoder.com/questionTerminal/00de97733b8e4f97a3fb5c680ee10720?answerType=1&f=discussion来源:牛客网请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符 阅读全文
posted @ 2020-06-25 13:26 北鼻coder 阅读(201) 评论(0) 推荐(0)