自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欧阳子遥的博客

欧阳爱慕容

  • 博客(19)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 LeetCode 22 括号生成

题目代码实现:Javaclass Solution { public List<String> generateParenthesis(int n) { List<String> list = new ArrayList<String>(); DFS(n,"",list,0,0); return list; } public void DFS(int n,String str,List<

2021-02-22 10:46:58 99 1

转载 算法分析中常用的几种渐进符号

在算法分析中,经常会遇到以下几种渐进符号渐近精确界记号:ΘΘ(big-theta)渐近上界记号 :OO(big-oh)渐近下界记号 :ΩΩ(big-omege)非渐近紧确上界:o(小-oh)非渐近紧确下界:ω(小-omege)下面对渐进符号进行详解:大写O符号f(n)=O(g(n)),这里f(n)是分析出来算法的执行次数的函数,O的定义:   当且仅当存在正的常数c和n0,使得对于所有的n>=n0,有f(n)<=cg(n)。这里cg(n)就是函数f...

2021-02-20 15:13:08 2535 2

原创 连续两次递归过程详解

代码:package demo;public class ShuangDiGui { public static void main(String[] args) { print(5); } public static void print(int n) { if(n>0) { print(n-1); print(n-4); } System.out.println("n的值:"+n); }}结果过程详解:第一步: 前6次递归都是执行print(

2021-02-20 14:31:09 2459 13

原创 8皇后问题(回溯,Java,C实现)

目录导航问题表述问题分析代码实现(Java)C问题表述在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。所以谁的说法是对的?问题分析我们在摆放皇后时,应该要做到任意两个皇后都不能处于同一行、同一列或同一斜线上。当使用一维数组作为存储结构时,map[i] = n中i表示棋盘的行,n为棋盘的列。map[i] ==

2021-02-20 10:23:48 378

原创 迷宫问题寻找最短路径(BFS)

目录导航问题描述BFS原理(BFS:广度优先搜索)Java实现C++实现问题描述如下图,找到从(1,1)到(6,5)的最短路径。BFS原理(BFS:广度优先搜索)故事设定:走格子策略为下右上左,给我个面子,假装迷宫自带十万倍重力buff,他们飞不起来????某天太阳高照,天气炎热,唐僧四人走走停停,来到一迷宫附近,发现必要要经过迷宫才能过去,于是乎,几人商定后,在起点由猴哥走下,沙僧走右,八戒走上,白龙马走右,师傅原地休息,八戒哈哈一笑,看着上面的墙与师傅一起坐在原地,道:“猴哥,老沙,靠你们了

2021-02-20 07:45:32 2965 3

原创 迷宫问题(简单模拟)

目录导航图解体会领悟:代码实现(Java):C语言版C++版为了复习递归,而模拟学习的。所以迷宫不大,总体是8行7列。图解A为起点,B为终点。如下图在A和B之间设置挡板被隔绝之后,结果如下。体会领悟:我做这个模拟之后对递归的理解就是像这个{{{}}}的字符串,只有最中间的括号配对成功了,同时发送一个成功的信号给第二括号,他才能开始配对,就像第一个本方法调用第二个本方法,但是第一个本方法还只执行一半没有执行完,他要等第二个本方法将结果返回给他,他才能完成自己的工作。而第二个本方法又依赖于第三

2021-02-17 17:57:28 1175 6

原创 LeetCode 1114 按序打印(多种解决)

题目代码实现:写法一:class Foo { public Foo() { } volatile int count = 1; public void first(Runnable printFirst) throws InterruptedException { count++; // printFirst.run() outputs "first". Do not change or remov

2021-02-16 17:28:22 600 4

原创 LeetCode 24 两两交换链表中的节点(图解)

题目代码实现代码与文尾的图解一起食用,更香哦!Java/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val

2021-02-16 11:52:53 331 1

原创 LeetCode 19 删除链表的倒数第N个结点

题目代码实现:/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */int getLength(struct ListNode* head){ int length = 0; while(head != NULL){ length++; head = head->ne

2021-02-15 08:16:51 246

原创 LeetCode 18 四数之和

题目代码实现:class Solution { public List<List<Integer>> fourSum(int[] nums, int target) { List<List<Integer>> list = new ArrayList<List<Integer>>(); Arrays.sort(nums); int len = nums.length;

2021-02-15 07:25:01 226

原创 LeetCode 17 电话号码的字母组合

题目代码实现:自述:开始我是打算用char二维数组来实现,后来提交时,有一组案例出错,发现’2’到’9’不是所有的元素都是3个,其中有2个数字有4个,如果要使用会造成空间浪费和额外的判断条件。所以改用String数组的存储结构。难点:此题难在怎么在不知道循环的次数的情况下,将数字对应的字符组合起来,易知如果digits字符串长度确定,循环次数是确定的。将list集合的元素与下一个数字对应的字符组合,即可将该数字并入。class Solution { public List<String

2021-02-14 09:02:17 242

原创 LeetCode 16 最接近的三数之和

题目代码实现class Solution { public int threeSumClosest(int[] nums, int target) { Arrays.sort(nums);//将数组排序,方便使用双指针 int result = nums[0] + nums[1] + nums[2]; for(int i=0;i<nums.length;i++) { int left = i+1, right = n

2021-02-10 14:32:56 191

转载 java中asList()方法的使用

百融云创笔试:大家都知道这个方法是将数组转成list,是JDK中java.util包中Arrays类的静态方法。大家使用时一定要注意(请看代码和注释,一看就明了了): String s[]={"aa","bb","cc"}; List<String> sList=Arrays.asList(s); for(String str:sList){//能遍历出各个元素 System.out.println(str); } System.out.println(sList.s

2021-02-10 11:30:50 2734 1

原创 极限编程(XP)12个最佳实践及部分原则

极限编程(XP)12个最佳实践现场客户 ( On-site Customer )代码规范 ( Code Standards )每周40小时工作制 ( 40-hour Week )计划博弈 ( Planning Game ):要求结合项目进展和技术情况,确定下一阶段要开发与发布的系统范围。系统隐喻 ( System Metaphor ):通过隐喻来描述系统如何运作、新的功能以何种方式加入到系统。它通常包含了一些可以参照和比较的类和设计模式。简单设计 ( Simple Design )测试驱动

2021-02-10 11:00:48 1257

原创 LeetCode 15 三数之和(Java)

题目代码实现:class Solution { public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> list = new ArrayList<List<Integer>>(); int len = nums.length,count = 0; if(len < 3){

2021-02-06 17:00:50 260

原创 LeetCode 12 整数转罗马数字

题目代码实现:方法一(暴力法,分类讨论):class Solution { public String intToRoman(int num) { String str = new String(); if(num/1000 >=1){ int a = num/1000; while(a>0){ str+="M";

2021-02-05 17:07:46 205 2

原创 LeetCode 11 盛最多水的容器

题目代码实现:方法一(暴力法):class Solution { public int maxArea(int[] height) { int S = 0,Smax = 0; for(int i = 0;i < height.length;i++){ for(int j = i+1;j < height.length;j++){ int y = height[i] >= height[j

2021-02-05 16:10:19 262

原创 LeetCode 8 字符串转换整数(atoi)

题目题目地址咳咳,各位大佬好,小白献丑了。代码思路是比较简单易懂,因为小白解题是暴力暴力暴力的,按题意一路写。首先说明一下变量,result是得到的数值结果;flag是用来控制result的正负的;couFuHao是只收取前导空格之后的+/-,而数值中的+/-是数值终止的情况之一;ZF是解决数值中夹有+/-的情况,如"00000-42a1234",如错误案例一,只统计-之前的数;KG是只过滤前导空格,夹在数值中的空格是数值终止的情况之一,是不能过滤的,如错误案例二三。代码写法有点像switch

2021-02-03 15:42:08 286 1

原创 LeetCode 6 Z字形变换(二维数组实现及优化)

题目代码实现:方法一(二维数组法):这是用二维数组作为存储结构,双指针定位构造Z字形的代码。col%(numRows-1) == 0是用来判断col列是不是整列,整列即该列应该全部是字符的列。class Solution { public String convert(String s, int numRows) { int len = s.length(); //如果是一行,返回就是原字符串 if(numRows == 1){

2021-02-02 17:12:55 437 2

8-1_RTC实时时钟.zip

嵌入式,RTC实时时钟。STM32板子

2021-04-26

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除