Twitter OA prepare: Two Operations
准备T家OA,网上看的面经
最直接的方法,从target降到1,如果是奇数就减一,偶数就除2
 public static void main(String[] args) {
        int a = shortest(17);
        System.out.println(a);
 }
 public static int shortest(int target) {
         if (target < 1) {
             return -1;
         }
         int count = 1;
         while (target != 1) {
             if (target % 2 == 0) {
                 target /= 2;
             } else {
                 target -= 1;
             }
             count ++;
         }
         return count;
 }
分析:这道题就是看这个二进制数most significant bit的1左移了多少位,即是所需的乘2次数;然后除开Most Significant bit的这个1之后的其它1的个数,就是需要加1的次数
比如15,1111,most significant bit的1是左移三位得到的,所以需要乘2三次,剩下111三个1,所以需要加1 三次,总操作3+3+1=7次。
Twitter OA prepare: Two Operations的更多相关文章
- Twitter OA prepare: Flipping a bit
		You are given a binary array with N elements: d[0], d[1], ... d[N - 1]. You can perform AT MOST one ... 
- Twitter OA prepare: even sum pairs
		思路:无非就是扫描一遍记录奇数和偶数各自的个数,比如为M和N,然后就是奇数里面选两个.偶数里面选两个,答案就是M(M-1)/2 + N(N-1)/2 
- Twitter OA prepare: K-complementary pair
		2sum的夹逼算法,需要sort一下.本身不难,但是tricky的地方在于允许同一个数组元素自己跟自己组成一个pair,比如上例中的[5, 5].而且数组本身就允许值相等的元素存在,在计算pair时, ... 
- Twitter OA prepare: Anagram is A Palindrome
		Algorithm: Count the number of occurrence of each character. Only one character with odd occurrence ... 
- Twitter OA prepare: Visit element of the array
		分析:就是建立一个boolean array来记录array里面每个元素的访问情况,遇到访问过的元素就停止visiting,返回未访问的结点个数 public int visiting(int[] A ... 
- Twitter OA prepare: Rational Sum
		In mathematics, a rational number is any number that can be expressed in the form of a fraction p/q ... 
- Twitter OA prepare: Equilibrium index of an array
		Equilibrium index of an array is an index such that the sum of elements at lower indexes is equal to ... 
- 2Sigma OA prepare: Longest Chain
		DP use HashMap: 根据string的长度sort,然后维护每个string的longest chain,default为1,如果删除某个char生成的string能提供更长的chain, ... 
- 2Sigma OA prepare: Friends Circle
		DFS & BFS: 关键在于构造graph package twoSigma; import java.util.ArrayList; import java.util.HashSet; i ... 
随机推荐
- LeetCode 11 Container With Most Water(分支判断问题)
			题目链接 https://leetcode.com/problems/container-with-most-water/?tab=Description Problem: 已知n条垂直于x轴的线 ... 
- Ico初步理解
			Ico定义:是一个重要的面向对象编程的法则来削减计算机程序的耦合问题(解耦).通俗理解:把运行中程式的控制权从程式本身那里拿过来,放到配置文件中,通过"反射"找到匹配配置文件总的对 ... 
- 23种设计模式之桥接模式(Bridge)
			桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化.它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式.桥接模式类似于多重继承方案,但是 ... 
- kvm虚拟机的重命名
			1.查看所有的kvm虚拟机 [root@5201351_kvm ~]# virsh list --all 2.重命名kvm虚拟机最好是将虚拟机先关机,然后再导出其xml文件 [root@5201351 ... 
- poj2778 DNA Sequence【AC自动机】【矩阵快速幂】
			DNA Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 19991 Accepted: 7603 Des ... 
- hdu5692【dfs序】【线段树】
			Snacks Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ... 
- OpenCV学习笔记之课后习题练习3-4
			练习:创建一个大小为100*100的三通道RGB图像.将它的元素全部置0.使用指针算法以(20,5)与(40,20)为顶点绘制一个绿色平面. 参考博文:blog.csdn.net/qq_2077736 ... 
- hihocoder 1305 - 区间求差 - [hiho一下152周][区间问题]
			题目链接:https://hihocoder.com/problemset/problem/1305 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个区间集合 A ... 
- CCCC 排座位  图着色问题
			1排座位:https://www.patest.cn/contests/gplt/L2-010 2图着色问题 https://www.patest.cn/contests/gplt/L2-023 建图 ... 
- HDU - 5818 Joint Stacks 比较大の模拟,stack,erase
			https://vjudge.net/problem/HDU-5818 题意:给你两个栈AB,有常规push,pop操作,以及一个merge操作,merge A B 即将A.B的元素按照入栈顺序全部出 ... 
 
			
		