当前位置: 首页 > wzjs >正文

计算机做网站百度云域名备案

计算机做网站,百度云域名备案,如何做网站权重,河南省做网站的公司有哪些102. 二叉树的层序遍历 递归法 核心代码模式 不断递归根节点,根据深度来判断加在哪一层上。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(in…

102. 二叉树的层序遍历

递归法

核心代码模式

不断递归根节点,根据深度来判断加在哪一层上。

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> ans=new ArrayList<>();layerselect(ans,root,0);return ans;}void layerselect(List<List<Integer>> ans,TreeNode root,int deep){if(root==null)return ;if(ans.size()==deep)ans.add(new ArrayList<>());ans.get(deep).add(root.val);layerselect(ans,root.left,deep+1);layerselect(ans,root.right,deep+1);}
}
手写输入输出

首先是构造树的节点类。

然后输入进来建树,特判一下为空的时候。这里是根据二叉树的性质,子节点下标等于父结点的2倍+1或2,不断递归建树

建好后进行层序遍历最后输出。

import java.util.*;class TreeNode 
{int val;TreeNode left,right;TreeNode (){}TreeNode(int val){this.val=val;}TreeNode(String str){val=Integer.valueOf(str);}TreeNode(int val,TreeNode left,TreeNode right){this.val=val;this.right=right;this.left=left;} 
}public class Javaacm
{
//输入格式
//[3,9,20,null,null,15,7]public static void main(String []args){Scanner scanner=new Scanner(System.in);String s=scanner.next();if(s.equals("[]")){System.out.print(s);return ;}String str[]=s.substring(1,s.length()-1).split(",");TreeNode root=buildTree(str,0);List<List<Integer>> ans=new ArrayList<>();layerselect(ans,root,0);System.out.print(ans);//[[3], [9, 20], [15, 7]]}static void layerselect(List<List<Integer>> ans,TreeNode root,int deep){if(root==null)return ;if(deep==ans.size())ans.add(new ArrayList<>());ans.get(deep).add(root.val);layerselect(ans,root.left,deep+1);layerselect(ans,root.right,deep+1);}private static TreeNode buildTree(String [] tree,int idx){if(idx>=tree.length||tree[idx].equals("null")){return null;}TreeNode node=new TreeNode(tree[idx]);node.left=buildTree(tree,idx*2+1);node.right=buildTree(tree,idx*2+2);return node;}
}

迭代法 

核心代码模式
class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> ans=new ArrayList<>();Queue<TreeNode> q=new ArrayDeque<>();if(root==null)return ans;q.offer(root);while(!q.isEmpty()){int n=q.size();List<Integer> layer=new ArrayList<>();for(int i=0;i<n;i++){TreeNode cur=q.poll();layer.add(cur.val);if(cur.left!=null)q.offer(cur.left);if(cur.right!=null)q.offer(cur.right);}ans.add(layer);}return ans;}
}
手写输入输出
import java.util.*;
class TreeNode
{int val;TreeNode left,right;TreeNode(){}TreeNode(int val){this.val=val;}TreeNode(String str){val=Integer.valueOf(str);}TreeNode(int val,TreeNode left,TreeNode right){this.val=val;this.left=left;this.right=right;}
}
public class Javaacm
{
//输入格式
//[3,9,20,null,null,15,7]public static void main(String []args){Scanner scanner=new Scanner(System.in);String s=scanner.next();if(s.equals("[]")){ System.out.print(s);return ;}String str[]=s.substring(1,s.length()-1).split(",");TreeNode root=buildTree(str,0);List<List<Integer>> ans=new ArrayList<>();Queue<TreeNode> q=new ArrayDeque<>();q.offer(root);while(!q.isEmpty()){int n=q.size();List<Integer> layer=new ArrayList<>();for(int i=0;i<n;i++){TreeNode cur=q.poll();layer.add(cur.val);if(cur.left!=null)q.offer(cur.left);if(cur.right!=null)q.offer(cur.right);}ans.add(layer);}System.out.println(ans);return ;}private static TreeNode buildTree(String [] tree,int idx){if(idx>=tree.length||tree[idx].equals("null")){return null;}TreeNode node=new TreeNode(tree[idx]);node.left=buildTree(tree,idx*2+1);node.right=buildTree(tree,idx*2+2);return node;}}

1. 两数之和

核心代码模式

哈希表,将元素,下标键值对存储进去,然后遍历查找即可。

时空复杂度都为O(n)

class Solution {public int[] twoSum(int[] nums, int target) {int len=nums.length;Map<Integer,Integer> m=new HashMap<>();for(int i=0;i<len;i++){if(m.containsKey(target-nums[i]))return new int[]{i,m.get(target-nums[i])};m.put(nums[i],i);}return null;}
}
手写输入输出

string数组转为int数组再遍历,最后输出答案

import java.util.*;public class Javaacm
{
//输入格式
//[2,7,11,15]
//9public static void main(String []args){Scanner scanner=new Scanner(System.in);String s=scanner.next();String str[]=s.substring(1,s.length()-1).split(",");int target=scanner.nextInt();int len=str.length;int nums[]=new int[len];for(int i=0;i<len;i++){nums[i]=Integer.valueOf(str[i]);}Map<Integer,Integer> m=new HashMap<>();int ans[]=null;for(int i=0;i<len;i++){if(m.containsKey(target-nums[i])){ans=new int[]{i,m.get(target-nums[i])};break;}m.put(nums[i],i);}if(ans==null)System.out.println("null");else     System.out.println("["+ans[0]+","+ans[1]+"]");return ;}}

33. 搜索旋转排序数组 - 力扣(LeetCode)

核心代码模式
class Solution {public int search(int[] nums, int target) {int minidx=findmin(nums);int n=nums.length;if(target>nums[n-1])return lowerbound(nums,0,minidx,target);return lowerbound(nums,minidx,n,target);}int findmin(int []nums){int l=0,r=nums.length;int n=nums.length;while(l<r){int mid=(l+r)/2;if(nums[mid]<=nums[n-1])r=mid;else l=mid+1;}return l;}int lowerbound(int []nums,int l,int r,int target){while(l<r){int mid=(l+r)/2;if(nums[mid]>=target)r=mid;else l=mid+1;}return target!=nums[l]?-1:l;}
}
手写输入输出
import java.util.*;public class Javaacm
{
//输入格式
// [4,5,6,7,0,1,2]
// 0static int nums[];static int n;public static void main(String []args){Scanner scanner=new Scanner(System.in);String s=scanner.next();String str[]=s.substring(1,s.length()-1).split(",");int target=scanner.nextInt();n=str.length;nums=new int[n];for(int i=0;i<n;i++)nums[i]=Integer.valueOf(str[i]);int minidx=findmin(target);if(target>nums[n-1])System.out.println(lowerbound(0,minidx,target));else System.out.println(lowerbound(minidx,n,target));return ;}static int findmin(int target){int l=0,r=n;while(l<r){int mid=(l+r)/2;//mid的值<=末尾if(nums[mid]<=nums[n-1]) r=mid;else l=mid+1;}return l;}static int lowerbound(int l,int r,int target){while(l<r){int mid=(l+r)/2;if(nums[mid]>=target)r=mid;else l=mid+1;}return target!=nums[l]?-1:l;}}

200. 岛屿数量 - 力扣(LeetCode)

核心代码模式
class Solution {int dx[]=new int[]{-1,0,1,0};int dy[]=new int[]{0,1,0,-1};boolean visit[][];int n,m;public int numIslands(char[][] grid) {n=grid.length;m=grid[0].length;int ans=0;visit=new boolean[n][m];for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(grid[i][j]=='1'&&visit[i][j]==false){bfs(i,j,grid);ans++;}}}return ans;}void bfs(int x,int y,char[][]grid){visit[x][y]=true;for(int i=0;i<4;i++){int xx=x+dx[i],yy=y+dy[i];if(xx<0||yy<0||xx>=n||yy>=m)continue;if(grid[xx][yy]=='1'&&!visit[xx][yy])bfs(xx,yy,grid);}}
}
手写输入输出
import java.util.*;public class Javaacm
{
//输入格式
// 2 3     行数、列数
// 001
// 100static int dx[]=new int[]{-1,0,1,0};static int dy[]=new int[]{0,1,0,-1};static int n,m;static boolean visit[][];static char grid[][];public static void main(String []args){Scanner scanner=new Scanner(System.in);n=scanner.nextInt();m=scanner.nextInt();grid=new char[n][m];visit=new boolean[n][m];for(int i=0;i<n;i++){String s=scanner.next();grid[i]=s.toCharArray();}int ans=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(!visit[i][j]&&grid[i][j]=='1'){dfs(i,j);ans++;}}}System.out.println(ans);return ;}static void dfs(int x,int y){visit[x][y]=true;for(int i=0;i<4;i++){int xx=x+dx[i],yy=y+dy[i];if(xx<0||yy<0||xx>=n||yy>=m)continue;if(!visit[xx][yy]&&grid[xx][yy]=='1')dfs(xx,yy);}}
}

46. 全排列 - 力扣(LeetCode)

核心代码模式
class Solution {List<List<Integer>> ans=new ArrayList<>();int []num;public List<List<Integer>> permute(int[] nums) {num=nums;Integer path[]=new Integer[nums.length];boolean visit[]=new boolean[nums.length];dfs(0,path,visit);return ans;}void dfs(int deep,Integer []path,boolean visit[]){if(deep==visit.length){ans.add(new ArrayList<>(Arrays.asList(path)));return ;}for(int i=0;i<visit.length;i++){if(visit[i])continue;visit[i]=true;path[deep]=num[i];dfs(deep+1,path,visit);visit[i]=false;}}
}
手写输入输出
import java.util.*;public class Javaacm
{
//输入格式
//[1,2,3]static List<List<Integer>> ans=new ArrayList<>();static Integer nums[];public static void main(String []args){Scanner scanner=new Scanner(System.in);String s=scanner.next();String[] str=s.substring(1,s.length()-1).split(",");int len=str.length;nums=new Integer[len];for(int i=0;i<len;i++)nums[i]=Integer.valueOf(str[i]);boolean visit[]=new boolean[len];Integer path[]=new Integer[len];dfs(0,path,visit);System.out.println(ans);return ;}static void dfs(int deep,Integer[]path,boolean visit[]){if(deep==nums.length){ans.add(new ArrayList(Arrays.asList(path)));return ;}for(int i=0;i<nums.length;i++){if(visit[i])continue;visit[i]=true;path[deep]=nums[i];dfs(deep+1,path,visit);visit[i]=false;}}
}


文章转载自:

http://mAQGszQV.qnxtz.cn
http://x7VgaRkt.qnxtz.cn
http://fERD994R.qnxtz.cn
http://JTkfVzuV.qnxtz.cn
http://X0pDN5cx.qnxtz.cn
http://ytIkPUfq.qnxtz.cn
http://ClW11SVO.qnxtz.cn
http://ggtyy01D.qnxtz.cn
http://Ua38cKof.qnxtz.cn
http://LD5Zm5uM.qnxtz.cn
http://4w6Y4wHW.qnxtz.cn
http://HOFPEcDZ.qnxtz.cn
http://83hFRckY.qnxtz.cn
http://HYuU9qvc.qnxtz.cn
http://QI4M1Gzp.qnxtz.cn
http://m4CPAlSS.qnxtz.cn
http://1ZIW52cA.qnxtz.cn
http://n2km6cGo.qnxtz.cn
http://0Vnggi3t.qnxtz.cn
http://iSH1xNBZ.qnxtz.cn
http://LcbBmAhF.qnxtz.cn
http://rLOa7Cbn.qnxtz.cn
http://vKtci3Qi.qnxtz.cn
http://tqlmczhI.qnxtz.cn
http://5YJmbSRy.qnxtz.cn
http://mGTV9ST5.qnxtz.cn
http://9eBo79pa.qnxtz.cn
http://OdvqKrYm.qnxtz.cn
http://3Y6oc5Pm.qnxtz.cn
http://l4ftHFGR.qnxtz.cn
http://www.dtcms.com/wzjs/695524.html

相关文章:

  • 巴中公司网站建设客源网站
  • 如何快速搭建一个网站西丽网站的建设
  • 网站怎么做社区营销wordpress抓取淘宝价格
  • 珠海市建设工程造价协会网站上海债务优化公司
  • 外贸电子商务网站建设平台企业网站用什么cms比较好
  • 网站首页开发收费自己如何做网站统计
  • 看室内设计案例的网站开发公司与物业公司移交协议
  • wordpress 导入网站模板哈尔滨服务好的建站方案
  • 除了dz论坛还能搭建什么网站许昌住房建设局的网站
  • 网站建设 移动端长沙有实力seo优化
  • 四川省建设科技协会网站wordpress主题的使用
  • 关于建设网站的合作合同范本wordpress 4.5.3中固定链接
  • 哪家企业网站做的好咋样做网站快照
  • 大型门户网站建设哪家好网站建设整体情况介绍
  • 抚州做网站价格多少icp备案网站信息填写
  • 装修公司资质查询官方网站百度官方网址
  • 企业建站公司报价动漫制作专业需要买电脑吗
  • 网站制作网站维护做个什么网站
  • 外贸商城 网站建设深圳公司网站备案
  • 商贸公司网站模板公司手机app开发公司
  • 网站动态添加广告怎么做的十秒折一个萝卜刀
  • 建设网站需要了解些什么东西南昌专业做网站公司有哪些
  • 自学做网站一般要多久网站建设理论知识
  • 简单自适应网站淘宝客网站可以做分销吗
  • 做图字体网站网页设计与制作教程的教学目标
  • 免费给别人做任务的网站wordpress百度云盘插件
  • 内蒙古建设厅门户网站平面广告设计价格
  • 深圳罗湖商城网站建设科技型中小企业税收优惠政策2022
  • 淄博哪里有做网站的宣传片拍摄流程文案
  • 免费做电子相册的网站什么网站做前端练手好