算法学习
是小D吖
实力不够,时间来凑,做好该做的事,一切自然水到渠成。
展开
-
Java二进制整数与负数的取反
按位取反是对补码进行运算,当运算完后,再将补码变回原码。正数正数的补码、反码都是其本身。正数:9原码反码补码0000 10010000 10010000 1001对补码按位取反之后为:1111 0110,此时的二进制数为补码。此时的二进制数为补码,因为负数的补码是反码加1先减一变为反码 1111 0101反码再取反变为原码 1000 1010 (-10)所以9的按位取反结果为-10负数负数的反码是符号位不变,其余位取反。负数的补码是反码加1。负数:-9原创 2021-07-05 21:02:47 · 1353 阅读 · 0 评论 -
刘汝佳算法入门经典习题3-2分子量
给出一种物质的分子式(不带括号),求分子量。 本题中的分子式只包含4种原子,分别为C、H、O、N, 原子量分别为12、1、16、14(g/mol)。 例如:C6H5OH的分子package jingdong;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;/** * Created with IntelliJ ID原创 2021-03-28 10:28:18 · 233 阅读 · 1 评论 -
力扣:剑指 Offer 65 不使用四则运算符号 + - * /实现加法运算
class Solution { public int add(int a, int b) { int sum = 0; int carry =0; do { sum = a^b; //二进制的按位相加实际等效于异或。 carry = (a&b) << 1;//二进制的每位的进位计算等效于按位与,然后左移。 a = sum; b.原创 2020-08-06 09:07:55 · 196 阅读 · 0 评论 -
力扣136 :只出现一次的数字
暴力查找public int singleNumber(int[] nums) { int numLength = nums.length; int[] count = new int[numLength]; //新创建一个数组用来记录nums数组中元素出现的次数 int target = 0; //将只出现一次的数字放在此变量中 for (int i = 0; i < numLength; i++) {.原创 2020-08-05 12:24:18 · 292 阅读 · 0 评论 -
LeetCode 50.实现 pow(x, n) ,即计算 x 的 n 次幂函数
实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。来源:力扣(LeetCode)链接:https:/原创 2020-05-11 16:14:50 · 511 阅读 · 0 评论