package org.sunhouji.util;
import java.util.ArrayList;
import java.util.List;
public class TestStrs {
public static void main(String[] args) {
System.out.println(3>>0);
List<List<Integer>> param = getStrToList5("123456789");
isRight(param, 110);
}
/**
* 长度为1的字符串
* @param str
* @return
*//*
private List<Integer> getStrToList1(String str){
List<Integer> result = new ArrayList<Integer>();
result.add(Integer.parseInt(str));
return result;
}
private List<List<Integer>> getStrToList2(String str){
List<List<Integer>> result = new ArrayList<List<Integer>>();
List<Integer> r1 = new ArrayList<Integer>();
result.add(getStrToList1(str));
Integer frist = Integer.parseInt(str.substring(0,1));
Integer second = Integer.parseInt(str.substring(1));
r1.add(frist);
r1.add(second);
result.add(r1);
return result;
}
private List<List<Integer>> getStrToList3(String str){
List<List<Integer>> result = new ArrayList<List<Integer>>();
List<Integer> r1 = new ArrayList<Integer>();
Integer frist = Integer.parseInt(str.substring(0,1));
List<List<Integer>> lists = getStrToList2(str.substring(1));
for(int i=0;i<lists.size();i++){
List<Integer> bean = lists.get(i);
bean.add(frist);
result.add(bean);
}
Integer second = Integer.parseInt(str.substring(0,2));
r1.add(second);
r1.add(Integer.parseInt(str.substring(2)));
result.add(r1);
return result;
}
private List<List<Integer>> getStrToList4(String str){
List<List<Integer>> result = new ArrayList<List<Integer>>();
List<Integer> r1 = new ArrayList<Integer>();
Integer frist = Integer.parseInt(str.substring(0,1));
List<List<Integer>> lists = getStrToList3(str.substring(1));
for(int i=0;i<lists.size();i++){
List<Integer> bean = lists.get(i);
bean.add(frist);
result.add(bean);
}
Integer second = Integer.parseInt(str.substring(0,2));
lists = getStrToList2(str.substring(2));
for(int i=0;i<lists.size();i++){
List<Integer> bean = lists.get(i);
bean.add(second);
result.add(bean);
}
Integer thrid = Integer.parseInt(str.substring(0,3));
r1.add(thrid);
r1.add(Integer.parseInt(str.substring(3)));
result.add(r1);
return result;
}*/
private static List<List<Integer>> getStrToList5(String str){
List<List<Integer>> result = new ArrayList<List<Integer>>();
for(int i=1;i<=str.length();i++){
Integer frist = Integer.parseInt(str.substring(0,i));
String s = str.substring(i);
List<List<Integer>> lists = getStrToList5(s);
if(lists.size()<1 || lists==null){
List<Integer> bean = new ArrayList<Integer>();
bean.add(frist);
result.add(bean);
}else{
for(int a=0;a<lists.size();a++){
List<Integer> bean = lists.get(a);
bean.add(0,frist);
result.add(bean);
}
}
}
return result;
}
/**
* 判断是否正确的数组
* @return
*/
private static boolean isRight(List<List<Integer>> param,int value){
boolean result = false;
int sum = 0;
for(int i=0;i<param.size();i++){
List<Integer> bean = param.get(i);
for(int j=0;j<bean.size();j++){
sum += bean.get(j);
}
if(sum>=value && bean.size()>2){
List<List<Integer>> tmp = isOk(bean);
for(int a=0;a<tmp.size();a++){
List<Integer> t = tmp.get(a);
int r = 0;
for(int b=0;b<t.size();b++){
r+=t.get(b);
}
if(r==value){
System.out.println(t.toString());
}
}
}
}
System.out.println(sum);
return result;
}
/**
* 分析可变种的组合
* @param bean
* @param value
*/
private static List<List<Integer>> isOk(List<Integer> bean){
List<List<Integer>> result = new ArrayList<List<Integer>>();
// System.out.println("=="+bean.toString()+":"+Math.pow(2, bean.size()-1));
for(int i=0;i<Math.pow(2, bean.size()-1);i++){
result.add(changeList(bean, i));
}
return result;
}
/**
* 通过二进制value 获取值
* @param bean
* @param value
* @return
*/
private static List<Integer> changeList(List<Integer> bean,int value){
List<Integer> result = new ArrayList<Integer>();
if(value ==0 ){
return bean;
}else{
result.add(bean.get(0));
for(int i=1;i<=bean.size();i++){
if((value>>(i-1))%2==1){
result.add(-bean.get(i));
}else{
if(i<bean.size())
result.add(bean.get(i));
}
}
}
return result;
}
}
分享到:
相关推荐
西里——国际高智商测试题
门萨国际是一个知名的高智商社团,其成员主要通过智力测试来筛选,而“门萨智力测试题”就是其中一种常见的测试材料。这类测试通常包含多种类型的题目,旨在评估参与者的逻辑思维、空间感知、数学推理、语言理解以及...
门萨智力测试题大全涉及的知识点主要围绕智商测试、智力水平的评估、以及门萨国际智力俱乐部的介绍。以下是对文档中提及内容的知识点详细说明: 1. 智力测试:智力测试是指通过一系列标准化的测试题目来评估个人的...
智力测试题,非常不错,希望大家喜欢。
智力测试题可能包含各种控件,如单选按钮(用于选择答案)、文本框(用于显示题目或输入答案)等。 3. **事件驱动编程**:易语言采用事件驱动编程模型,用户操作控件时触发相应事件,事件处理函数执行相应的代码。...
### 智力测试题详解 #### 一、获取三升水的问题 **题目描述**:假设有两个水壶,容量分别是5升和6升,如何仅使用这两个水壶从池塘里取得正好3升的水? **解题思路**: 1. **初始状态**:两个水壶都是空的。 2. **...
智商测试题解析 本文档提供了国际标准智商测试题的详细解析,涵盖了逻辑推理、类比、语言理解、数学运算等多种题型。以下是测试题的详细解析: 逻辑推理 1. 五个答案中哪一个是最好的类比?工工人人工人对于 ...
本资源为一份智商测试题,共60个题目,涵盖逻辑思维、推理能力、语言理解、空间想象等多方面内容。下面对每个题目进行详细解释和分析: 1.五个答案中哪一个是最好的类比?工工人人工人对于2211121相当于工工人人工...
### 500强企业面试智力测试题解析 #### 一、题目背景及解析方法论 在500强企业的面试过程中,智力测试题是一种常见的评估应聘者逻辑思维能力、解决问题能力和创新能力的方式。这类问题通常设计得巧妙且具有挑战性...
标题中的“75道面试逻辑智力测试题内附详细答案.zip”表明这是一份与面试相关的资源,特别是针对逻辑智力的测试题目。这类资源通常被求职者用来准备面试中的问题解决和逻辑推理部分,这些技能在IT行业中尤其重要,...
易语言源码易语言智力测试题源码.rar 易语言源码易语言智力测试题源码.rar 易语言源码易语言智力测试题源码.rar 易语言源码易语言智力测试题源码.rar 易语言源码易语言智力测试题源码.rar 易语言源码易语言智力...
该测试题涵盖了多个方面的智力测验,包括常识题目、填图测验、三类同测验、四排列试验等。 常识题目 常识题目是测试儿童对周围世界的了解和理解程度的重要组成部分。该部分的题目涵盖了儿童日常生活中可能遇到的...
本题是一道经典的智力题目,常出现在求职面试的情境之中,特别是那些注重逻辑思维和技术能力的职位。题目通过一个虚构的故事背景——五个海盗如何公平地分配100枚金币——来考验应聘者的逻辑推理能力和决策制定能力...
根据给定文件的信息,我们可以提炼出以下IT相关的知识点,这些知识点虽然源于逻辑智力测试题,但它们触及了算法、概率论、数据结构等计算机科学的核心领域。下面将详细阐述每一道题目背后的IT知识要点。 ### 知识点...
在这个题目中,“月薪3W的智商测试题”暗示了这是一个具有一定难度的智力挑战,能够解决这类问题的人往往具备较高的逻辑思维能力和解决问题的能力。在IT行业中,这种能力尤其重要,因为它不仅关乎个人的技术水平,还...
以下是一些在“趣味智力测试题(卷)例题解析”文档中涉及的知识点及详细说明: 1. 趣味智力题: 这类题目通常包含生活中的实际问题,比如“谁的个子最高”,这类问题不仅要求学生进行简单的比较,还可能涉及到单位...
### 趣味智力测试题 #### 1. 颜色推理问题 **题目描述**:假设有三个人S、P、Q,他们中的每一个人都知道一些信息,但并不完全知晓所有事实。已知: - S知道某些信息。 - P知道某些信息。 - Q也知道某些信息。 - ...
### 微软程序员测试题解析 #### 题目一:水壶问题 **题目描述:**有一个3升的水壶和一个5升的水壶,如何只通过这两个水壶得到正好4升水? **解题思路:** 1. 先将5升水壶装满水。 2. 用这个5升水壶往3升水壶倒水...
根据给定文件中的标题“月薪三万的智商测试题答案详解”及描述“月薪三万的智商测试题的详解答案出来啦”,我们可以看出这是一份关于特定智商测试题目的解答指南。虽然描述部分较为简短,但从提供的部分内容来看,这...