![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试编程
透明人类
毕业于北方汽修学院
展开
-
Java初始化二维数组的三种方式!!
//第一种方式: int a[][]={{1,2,3},{4,5,6}}; //第二种方式; int[][] ints = new int[4][2]; ints[i][j] =__; //分别赋值 //第三种方式:第二维的长度可以动态申请 int[][] arr3 = new int...转载 2019-08-06 15:08:23 · 167 阅读 · 0 评论 -
合并K个排序链表
思路一从21. 合并两个有序链表的基础上,我们已经能够解决两个有序链表的问题,现在是k个有序链表,我们可以将第一二个有序链表进行合并,然后将新的有序链表再继续跟第三个有序链表合并,直到将所有的有序链表合并完成。 这样做思路上是可行的,但是算法的时间复杂度将会很大,具体就不计算了。有兴趣的自己计算下。思路二根据思路一,我们是一个一个地将有序链表组成新的链表,这里一个进行了k-1次两个有序链表的...转载 2019-09-03 14:39:35 · 152 阅读 · 0 评论 -
最长回文子串
中部扩散法class Solution:# str 指示我返回的字符串,不加也没关系 def longestPalindrome(self, s: str) -> str: n = len(s) self.res = "" def helper(i,j): while i >= 0 and j <...原创 2019-08-17 16:01:31 · 135 阅读 · 0 评论 -
因式分解最优方法 Java
将一个不是质数的数进行因式分解 public static String zhiyinshu(int n) { //如果可以分解的话,肯定质因数要小于等于他的平方的 //所有的数都是素数的积; StringBuilder stringBuilder = new StringBuilder(); int yuanlai = n;...原创 2019-08-16 21:54:15 · 1002 阅读 · 0 评论 -
二进制求和(注意边界条件和三位运算符)
给定两个二进制字符串,返回他们的和(用二进制表示)class Solution { public String addBinary(String a, String b) { StringBuilder stringBuilder=new StringBuilder(); //二进制相加肯定是倒序的 int sum=0; ...原创 2019-08-16 19:35:08 · 328 阅读 · 0 评论 -
无重复字符的最长子串(滑动窗口)
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。使用list使用list的情况下可以保存最长的字串什么样子,但是这道题不需要返回最长字串,所以list不好class Solution { public int lengthOfLongestSubstr...原创 2019-08-16 15:30:05 · 538 阅读 · 0 评论 -
解码方法数-JAVA-动态规划
一条包含字母 A-Z 的消息通过以下方式进行了编码:‘A’ -> 1‘B’ -> 2…‘Z’ -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数输入: “12”输出: 2解释: 它可以解码为 “AB”(1 2)或者 “L”(12) int length = s.length(); //状态转移矩阵的i这里跟string的...原创 2019-08-21 16:44:40 · 214 阅读 · 0 评论 -
爬楼梯,变态爬楼梯,矩形覆盖,阶乘
递归递归函数内重复自身调用一定存在结束条件的!!!假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢class Solution { public int climbStairs(int n) { //n==1就是结束条件 if(n==1){ return 1...原创 2019-08-15 16:13:33 · 411 阅读 · 0 评论 -
从尾到头打印链表
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/...原创 2019-08-08 16:36:33 · 79 阅读 · 0 评论 -
最大子序和(动态规划)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。class Solution { public int maxSubArray(int[] nums) { //sum<0 对于我们的...转载 2019-08-15 14:59:17 · 1413 阅读 · 0 评论 -
移动零(浦发)
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。实例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。代码//这道题正确的思路是找到所有非零元素,一个一个在数组排//然后后面的元素全部补0class Solution { public ...原创 2019-08-14 20:40:14 · 122 阅读 · 0 评论 -
旋转数组中的最小数字(特殊二分法)
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。...原创 2019-08-08 16:41:31 · 243 阅读 · 0 评论 -
二维数组中查找一个数
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。二分法public class Solution { //这次的思路是对每一行进行二分查找 public boolean Find(int target, int [][] array) {...原创 2019-08-08 16:20:00 · 1523 阅读 · 0 评论 -
替换空格(StringBuilder,StringBuffer,String)
文章目录问题StringStringBufferStringBuilderString.charAtString.length参考链接问题请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution { public String repla...原创 2019-08-07 16:47:42 · 432 阅读 · 0 评论 -
字符串缩写(浦发)
在英文中,我们会把一些长的名字或者短语进行缩写。例如"looks good to me"缩写为"lgtm",短语中的每个单词的首字母组成缩写。现在给出一个字符串s,字符串s中包括一个或者多个单词,单词之间以空格分割,请输出这个字符串的缩写输入looks good to me输出lgtmpublic static String suoXie(String sss) { ...原创 2019-08-07 14:51:58 · 638 阅读 · 0 评论 -
反转字符串(浦发)
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。class Solution { public void reverseString(char[] s) { //...原创 2019-08-06 19:10:56 · 119 阅读 · 0 评论 -
不用幂函数,实现数值的n次方
//一个数不断进行位运算,最后一次肯定是变成1//想一想,一个数的二进制首位肯定是1,最后肯定这个1来到那个位置while(exponent!=0){//位运算没有达到最后一步if((exponent==1)//到了最后一步res*=curr;curr*=curr;exponent>>1;}//最后判断n是否大于0,小于0是当分母return n>=0?re...原创 2019-09-06 14:02:27 · 448 阅读 · 0 评论