算法刷题
sailwff
在校学生,一起努力~
展开
-
2020-09-23
2020/09/23猜数字,猜中位置和字母0位置++;猜中字母但非位置不对1位置++;第一种情况不可以放在第二种情况中,另外,重复字母不可以反复进行计算:比较://考虑到guess里面有重复的元素,//方法1:先看猜中,猜中之后,将对应字母,换成#,之后再进行伪猜中的判断//计算猜中和伪猜中的次数//这里体现了一个知识点,string类是不变的,如果想让其改变,需要将其他字符串的引用传递给他public static int[] masterMind(String solution, St原创 2020-09-23 22:29:46 · 95 阅读 · 0 评论 -
2020-09-19
2020/09/18问题1:从尾到头打印链表链表来反转即可://从尾到头打印链表public static int [] reversePrint(ListNode head){ if(head == null) return null; int countlength =0; ListNode conNode = head; while (conNode != null){ countlength++; conNode = co原创 2020-09-19 00:14:00 · 87 阅读 · 0 评论 -
2020-09-17
2020/09/17链表的相关操作(创建链表,头插和尾插法),链表的排序(以及时间空间复杂度)创建链表:(该链表不存在头节点)需要将数第一位数值赋给head尾插法://尾插法public static ListNode createTail(int num[]){ ListNode head = null; if(num.length < 0) return null; else { head= new ListNode(num[0]原创 2020-09-17 23:54:10 · 108 阅读 · 0 评论 -
2020-09-16
2020-09-17数学类题目:求num的n次方根思路1:设置一个精度,利用二分的方法,不断二分,得到k,直到kk…… <precision思路2:利用牛顿迭代法:X(n+1) = Xn - f(Xn)’/f(Xn)利用上一项和下一项之间的关系求解主要就是找一下规律依次向下推进,不断迭代,小于精度就可以得到结果// n次方根,牛顿迭代法public static double get(int n,int num){ DecimalFormat decimalFormat原创 2020-09-16 22:40:41 · 75 阅读 · 0 评论 -
2020-09-16
逻辑类每天记录一些自己算法,也可以和大家一起讨论提高题目:接雨水问题:暴力求解就是指,从前向后遍历,在for循环里继续进行嵌套循环,比较,然后进行雨水的计算;这样时间复杂度很高这里取巧的方法是利用分层求解的方式:从下到上,每一层进行计算;layer=1:左指针向后,为0,++;右指针往前,为0,–;然后遍历左指针和右指针中间的区域,为0的地方,雨水++;对第一层数据为0的部分+1;layer=2:左指针向后,为1,++,右指针往前,为1,–;然后遍历左指针和右指针中间的区域,为1的地方,雨水原创 2020-09-16 00:13:23 · 75 阅读 · 0 评论