找出 int 数组的平衡点 & 二叉树 / 平衡二叉树 / 满二叉树 / 完全二叉树 / 二叉查找树
找出 int 数组的平衡点
左右两边和相等, 若存在返回平衡点的值(可能由多个); 若不存在返回 -1;
``java
int [] arr = {2,3,4,2,4};
```js
const arr = [2,3,4,2,4];
https://repl.it/@xgqfrms/find-number-array-balance-point
https://repl.it/@xgqfrms/find-Int-array-balance-point
- ts
// 找出 Int 数组平衡点
/**
* 整形数组平衡点问题:平衡点指左边的整数和等于右边的整数和,
* 求出平衡点位置,要求输入的数组可能是GB级
*
* 要求找出整型数组的一个平衡点(如果要找出所有平衡点的话,按此方法需要把每一个平衡点都存起来)
*/
const log = console.log;
// 'public' modifier cannot appear on a module or namespace element.ts
// public class IntArrayBalancePoint {
class IntArrayBalancePoint {
constructor(args: String[]) {
log(`args`, args)
// const a: Object = [- 7 , 1, 5, 2, -5, 1];
// const b: Object = [2, 3, 4, 2, 4];
// const c: Object = [2, 3, 4, 3, 2];
// const a: Number[] = [- 7 , 1, 5, 2, -5, 1];
// const b: Number[] = [2, 3, 4, 2, 4];
// const c: Number[] = [2, 3, 4, 3, 2];
// interface Number
// An object that represents a number of any kind.
// All JavaScript numbers are 64-bit floating-point numbers.
// const a: number[] = [- 7 , 1, 5, 2, -5, 1];
// const b: number[] = [2, 3, 4, 2, 4];
// const c: number[] = [2, 3, 4, 3, 2];
// const t = new IntArrayBalancePoint([]);
// log(t.findBalancePoint(a));
// log(t.findBalancePoint(b));
// log(t.findBalancePoint(c));
}
public findBalancePoint(a: number[]) {
// findBalancePoint(a: number[]) {
const len = a.length || 0;
if (a === null) {
return -1;
}
let sum = 0;
let subSum = 0;
for (let i = 0; i < len; i ++) {
sum += a[i];
}
for (let i = 0; i < len; i++) {
if (subSum === sum - subSum - a[i]) {
// log(a[i]);
return a[i];
} else {
subSum += a[i];
}
}
return -1;
}
}
const a: number[] = [- 7 , 1, 5, 2, -5, 1];
const b: number[] = [2, 3, 4, 2, 4];
const c: number[] = [2, 3, 4, 3, 2];
const t = new IntArrayBalancePoint([]);
log(t.findBalancePoint(a));
log(t.findBalancePoint(b));
log(t.findBalancePoint(c));
// args []
// -5
// -1
// 4
refs
https://www.iteye.com/blog/jerryqiu-252422
https://www.cnblogs.com/tomato0906/articles/7417798.html
- java
package find_Int_array_balance_point;
// 找出 Int 数组平衡点
/**
* 整形数组平衡点问题:平衡点指左边的整数和等于右边的整数和,
* 求出平衡点位置,要求输入的数组可能是GB级
*
* 要求找出整型数组的一个平衡点(如果要找出所有平衡点的话,按此方法需要把每一个平衡点都存起来)
*/
public class IntArrayBalancePoint {
public static void main(String[] args) {
int[] a = { - 7 , 1, 5, 2, -5, 1} ;
int[] b = {2, 3, 4, 2, 4} ;
int[] c = {2, 3, 4, 3, 2} ;
IntArrayBalancePoint t = new IntArrayBalancePoint();
System.out.println(t.findBalancePoint(a));
System.out.println(t.findBalancePoint(b));
System.out.println(t.findBalancePoint(c));
// t.findBalancePoint(a);
// t.findBalancePoint(b);
// t.findBalancePoint(c);
}
public int findBalancePoint(int[] a) {
if (a == null) {
return -1;
}
long sum = 0l;
long subSum = 0l;
for ( int i = 0 ; i < a.length; i ++ ) {
sum += a[i];
}
for (int i = 0; i < a.length; i ++ ) {
if (subSum == sum - subSum - a[i]) {
// System.out.println(a[i]);
return a[i];
} else {
subSum += a[i];
}
}
return -1;
}
}
树算法
二叉树 / 平衡二叉树 / 满二叉树 / 完全二叉树 / 二叉查找树
https://juejin.im/entry/5afb9fb66fb9a07ab458cc0d
https://zhuanlan.zhihu.com/p/56066942
https://blog.csdn.net/qq_24885695/article/details/75268318
题目
根据一个数组,找出其平衡点,也就是该点左边的和等于右边的和; 一个数组可能有多个平衡点;
注意:数组至少有3个元素,才能有平衡点存在, 不存在返回 -1;
https://www.cnblogs.com/tomato0906/articles/7417798.html
balanced binary tree
https://leetcode-cn.com/problems/balanced-binary-tree/
JavaScript中的数据结构和算法学习
https://juejin.im/post/594dfe795188250d725a220a
剑指Offer笔记
https://xmoyking.github.io/2018/03/27/js-offer-algorithms5/
- 问题38 数字在排序数组中出现的次数
- 问题39 二叉树的深度
2.1. 问题39.2 平衡二叉树 - 问题40 数组中只出现一次的数字
- 问题41 和为S的两个数字
4.1. 问题41.2 和为S的连续正数序列 - 问题42 翻转单词顺序
5.1. 问题42.2 左旋转字符串 - 问题43 n个骰子的点数
- 问题44 扑克牌的顺子
- 问题45 圆圈中最后剩下的数
- 问题46 求1+2+3+…+n
- 问题47 不用加减乘除做加法
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
找出 int 数组的平衡点 & 二叉树 / 平衡二叉树 / 满二叉树 / 完全二叉树 / 二叉查找树的更多相关文章
- 笔试题&面试题:找出一个数组中第m小的值并输出
题目:找出一个数组中第m小的值并输出. 代码: #include <stdio.h> int findm_min(int a[], int n, int m) //n代表数组长度,m代表找 ...
- 找出数字数组中最大的元素(使用Math.max函数)
从汤姆大叔的博客里看到了6个基础题目:本篇是第1题 - 找出数字数组中最大的元素(使用Match.max函数) 从要求上来看,不能将数组sort.不能遍历.只能使用Math.max,所以只能从java ...
- javascript 找出数字数组中最大的数
找出数字数组中最大的数 var Match = (function(){ var arr = null; var len = 0; return { max:function(arr,len){ ar ...
- 找出整数数组中出现次数超过数组长度一半的元素(Java)
Question:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字 package com.study.zhipengs.test; import java.util.Arrays; im ...
- 【LeetCode】找出所有数组中消失的数字
[问题] 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次.找到所有在 [1, n] 范围之间没有出现在数组中的数字. ...
- 找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}
int [][]a={{3,2,6},{6,8,2,10},{5},{12,3,23}}; //先对二维数组进行遍历:然后把二维数组合成一个数组 int[] k=new int[11]; int q= ...
- 368. Largest Divisible Subset -- 找出一个数组使得数组内的数能够两两整除
Given a set of distinct positive integers, find the largest subset such that every pair (Si, Sj) of ...
- 找出Java数组中不同的值
public void deltp(PrintWriter out) { try{ PageData pd = new PageData(); pd = this.getPageData(); Str ...
- 15.找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}
package com.bao; public class Erweim { public static void main(String[] args) { int[][]a={{3,2,6},{6 ...
随机推荐
- 【vulnhub】靶机-【DC系列】DC9(附靶机)
出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) 主机信息 Kali:192.168.56.113 DC9:192.168.56.112 ...
- FreeWheel核心业务团队混沌工程实践之路
https://mp.weixin.qq.com/s/0monDPkAlMk7Yhq9swW7gQ 原创 郭彦梅 InfoQ 2020-11-17
- (012)每日SQL学习:TO_CHAR(DATE,FORMAT)
SYSDATE 2009-6-16 15:25:10 TRUNC(SYSDATE) 2009-6-16 TO_CHAR(SYSDATE,'YYYYMMDD') 20090616 到日 TO_CHAR( ...
- 腾讯libco协程原理
https://blog.csdn.net/GreyBtfly/article/details/83688420 堆栈 https://blog.csdn.net/lqt641/article/det ...
- 配置《Orange's一个操作系统的实现》环境心得
<Orange>这本书开篇第一章就做了一个实例,编写了一段引导扇区的代码,但是引导介质仍然采用了已被淘汰多年的软盘.在经历了两天的痛苦查找后终于找到了最方便的解决办法,在此做一下记录,希望 ...
- springboot开启多线程配置
一.配置线程池参数 @EnableAsync @Configuration public class TaskExecutorConfig { @Bean public TaskExecutor ta ...
- Java——I/O操作之拷贝文件
功能描述: 利用文件输入输出流编写一个实现文件拷贝的程序,源文件名和目标文件名通过控制台输入. public static void main(String[] args) { Scanner in= ...
- linux下安装 zookeeper-3.4.9并搭建集群环境
本文主要记录作者在实践过程中实现在centos7环境下安装zookeeper并搭建集群的详细步骤,关于zookeeper本文将不做详细介绍,安装步骤详情如下: 前提准备:3台linux服务器(因为zo ...
- Qt update刷新之源码分析(一)
在做GUI开发时,要让控件刷新,会调用update函数:那么在调用了update函数后,Qt究竟基于什么原理.执行了什么代码使得屏幕上有变化?本文就带大家来探究探究其内部源码. Qt手册中关于QWid ...
- Codeforces 1355 D. Game With Array
传送门:D - Game With Array 题意:让你构造一个长度为n的序列,并且n个数的和为S,问能不能找到一个1~n的数k,使得数组里找不出一个子序列的和为k或者n-k: 题解:最简单的想法肯 ...