2021-11-24 423. 从英文中重建数字

有一说一,觉得官方的思路太取巧了,于是就试着按照比较一般化的思路做的,发现运算量还挺大的。采用哈希表的思路。运算复杂度较高,但具有一般性。

java版本

class Solution {
    public String originalDigits(String s) {

      int tmp=0;
      int key_value=0;
      String[] nums=new String[]{"zero","six","eight","two","seven","five","four","three","one","nine"};
     int[] seq=new int[]{0,6,8,2,7,5,4,3,1,9};
      List arr_res=new ArrayList();
     
       HashMap hashmap=new HashMap();
       for(int i=0;i

剑指 Offer II 004. 只出现一次的数字

java版本哈希表思路,很好理解和实现,Go版本参考了官方思路,实在想不到位运算的思路。
java版本

class Solution {
    public int singleNumber(int[] nums) {
        HashMap hashmap=new HashMap();

        for(int i=0;i

Go版本

func singleNumber(nums []int) int {    
    ans:=int32(0)

   for i:=0;i<32;i++{
       total:=int32(0)
    for _,num:=range nums{
        total+=int32(num)>>i&1; 
    }
    if total%3>0{
        ans|= 1<

你可能感兴趣的:(2021-11-24 423. 从英文中重建数字)